JBoss Tools SVN: r20804 - trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/drop/treeviewer/model.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2010-03-12 10:29:34 -0500 (Fri, 12 Mar 2010)
New Revision: 20804
Modified:
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/drop/treeviewer/model/AttributeValueResourceFactory.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-5855
Modified: trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/drop/treeviewer/model/AttributeValueResourceFactory.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/drop/treeviewer/model/AttributeValueResourceFactory.java 2010-03-12 15:18:25 UTC (rev 20803)
+++ trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/drop/treeviewer/model/AttributeValueResourceFactory.java 2010-03-12 15:29:34 UTC (rev 20804)
@@ -80,6 +80,8 @@
return new IDResourceElement("Validator IDs", root, pageContext, proposalType, kbQuery); //$NON-NLS-1$
} else if("seamVariables".equals(type)) { //$NON-NLS-1$
return new SeamVariablesResourceElement(editorInput, "Seam Variables", root); //$NON-NLS-1$
+ } else if(CustomProposalTypeFactory.CSSCLASS_TYPE.equals(type)) {
+ return new IDResourceElement("CSS Classes", root, pageContext, proposalType, kbQuery); //$NON-NLS-1$
}
return new UnknownAttributeValueResource(MessageFormat.format(JstUIMessages.AttributeValueResourceFactory_UnknownResourceType, type), root);
// throw new RuntimeException("Unknown resource type:" + type);
14 years, 3 months
JBoss Tools SVN: r20803 - trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2010-03-12 10:18:25 -0500 (Fri, 12 Mar 2010)
New Revision: 20803
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/JSF2CCAttrsELCompletionEngine.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-5941
Modified: trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/JSF2CCAttrsELCompletionEngine.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/JSF2CCAttrsELCompletionEngine.java 2010-03-12 14:49:01 UTC (rev 20802)
+++ trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/JSF2CCAttrsELCompletionEngine.java 2010-03-12 15:18:25 UTC (rev 20803)
@@ -265,6 +265,11 @@
public List<IVariable> resolveVariablesInternal(IFile file, ELInvocationExpression expr, boolean isFinal, boolean onlyEqualNames) {
List<IVariable> result = new ArrayList<IVariable>();
+
+ XModelObject o = EclipseResourceUtil.createObjectForResource(file);
+ if(o == null) return result;
+ if(!"FileJSF2Component".equals(o.getModelEntity().getName())) return result;
+
String varName = expr.toString();
String[] vs = {"cc.attrs", "compositeComponent.attrs"};
for (int i = 0; i < vs.length; i++) {
14 years, 3 months
JBoss Tools SVN: r20802 - in trunk/jsf/plugins/org.jboss.tools.jsf: src/org/jboss/tools/jsf/model and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2010-03-12 09:49:01 -0500 (Fri, 12 Mar 2010)
New Revision: 20802
Added:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/JSF2CCAttrsELCompletionEngine.java
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf/plugin.xml
Log:
https://jira.jboss.org/jira/browse/JBIDE-5941
Modified: trunk/jsf/plugins/org.jboss.tools.jsf/plugin.xml
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf/plugin.xml 2010-03-12 14:41:48 UTC (rev 20801)
+++ trunk/jsf/plugins/org.jboss.tools.jsf/plugin.xml 2010-03-12 14:49:01 UTC (rev 20802)
@@ -454,6 +454,13 @@
</el-resolver>
</extension>
<extension
+ point="org.jboss.tools.common.el.core.elResolver">
+ <el-resolver id="ccAttrsELResolver">
+ <project-nature id="org.jboss.tools.jsf.jsfnature"
+ resolver-class="org.jboss.tools.jsf.model.JSF2CCAttrsELCompletionEngine"/>
+ </el-resolver>
+ </extension>
+ <extension
point="org.jboss.tools.common.model.modelnatures">
<modelnature
name="org.jboss.tools.jsf.jsfnature"
Added: trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/JSF2CCAttrsELCompletionEngine.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/JSF2CCAttrsELCompletionEngine.java (rev 0)
+++ trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/JSF2CCAttrsELCompletionEngine.java 2010-03-12 14:49:01 UTC (rev 20802)
@@ -0,0 +1,504 @@
+/*******************************************************************************
+ * 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jsf.model;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+import java.util.TreeSet;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.swt.graphics.Image;
+import org.jboss.tools.common.el.core.ca.AbstractELCompletionEngine;
+import org.jboss.tools.common.el.core.model.ELExpression;
+import org.jboss.tools.common.el.core.model.ELInvocationExpression;
+import org.jboss.tools.common.el.core.model.ELObjectType;
+import org.jboss.tools.common.el.core.model.ELPropertyInvocation;
+import org.jboss.tools.common.el.core.parser.ELParserFactory;
+import org.jboss.tools.common.el.core.parser.ELParserUtil;
+import org.jboss.tools.common.el.core.resolver.ELContext;
+import org.jboss.tools.common.el.core.resolver.ELResolution;
+import org.jboss.tools.common.el.core.resolver.ELResolutionImpl;
+import org.jboss.tools.common.el.core.resolver.ELSegmentImpl;
+import org.jboss.tools.common.el.core.resolver.IVariable;
+import org.jboss.tools.common.el.core.resolver.TypeInfoCollector.MemberInfo;
+import org.jboss.tools.common.model.XModelObject;
+import org.jboss.tools.common.model.util.EclipseResourceUtil;
+import org.jboss.tools.common.text.TextProposal;
+import org.jboss.tools.jsf.JSFModelPlugin;
+
+/**
+ *
+ * @author V. Kabanovich
+ *
+ */
+public class JSF2CCAttrsELCompletionEngine extends AbstractELCompletionEngine<IVariable> {
+ private static final Image JSF2_EL_CC_ATTRS_PROPOSAL_IMAGE = JSFModelPlugin.getDefault().getImage(JSFModelPlugin.CA_JSF_MESSAGES_IMAGE_PATH);
+
+ /*
+ * (non-Javadoc)
+ * @see org.jboss.tools.common.el.core.ca.AbstractELCompletionEngine#getELProposalImage()
+ */
+ public Image getELProposalImage() {
+ return JSF2_EL_CC_ATTRS_PROPOSAL_IMAGE;
+ }
+
+ private static ELParserFactory factory = ELParserUtil.getDefaultFactory();
+
+ public JSF2CCAttrsELCompletionEngine() {}
+
+ /*
+ * (non-Javadoc)
+ * @see org.jboss.tools.common.el.core.resolver.ELResolver#getParserFactory()
+ */
+ public ELParserFactory getParserFactory() {
+ return factory;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.jboss.tools.common.el.core.ca.AbstractELCompletionEngine#log(java.lang.Exception)
+ */
+ protected void log(Exception e) {
+ JSFModelPlugin.getPluginLog().logError(e);
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.jboss.tools.common.el.core.resolver.ELResolver2#getProposals(org.jboss.tools.common.el.core.resolver.ELContext, java.lang.String)
+ */
+ public List<TextProposal> getProposals(ELContext context, String el, int offset) {
+ return getCompletions(el, false, 0, context);
+ }
+
+ public List<TextProposal> getCompletions(String elString,
+ boolean returnEqualedVariablesOnly, int position, ELContext context) {
+ IDocument document = null;
+
+ List<TextProposal> proposals = null;
+ try {
+ proposals = getCompletions(context.getResource(), document, elString.subSequence(0, elString.length()), position, returnEqualedVariablesOnly);
+ } catch (StringIndexOutOfBoundsException e) {
+ log(e);
+ } catch (BadLocationException e) {
+ log(e);
+ }
+ return proposals;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.jboss.tools.common.el.core.resolver.ELResolver2#resolve(org.jboss.tools.common.el.core.resolver.ELContext, org.jboss.tools.common.el.core.model.ELExpression)
+ */
+ public ELResolution resolve(ELContext context, ELExpression operand, int offset) {
+ ELResolutionImpl resolution = resolveELOperand(operand, context, true);
+ if(resolution != null)
+ resolution.setContext(context);
+ return resolution;
+ }
+
+ public ELResolutionImpl resolveELOperand(ELExpression operand,
+ ELContext context, boolean returnEqualedVariablesOnly) {
+ try {
+ return resolveELOperand(context.getResource(), operand, returnEqualedVariablesOnly);
+ } catch (StringIndexOutOfBoundsException e) {
+ log(e);
+ } catch (BadLocationException e) {
+ log(e);
+ }
+ return null;
+ }
+
+ public List<TextProposal> getCompletions(IFile file, IDocument document, CharSequence prefix,
+ int position, boolean returnEqualedVariablesOnly) throws BadLocationException, StringIndexOutOfBoundsException {
+ List<TextProposal> completions = new ArrayList<TextProposal>();
+
+ ELResolutionImpl status = resolveELOperand(file, parseOperand("" + prefix), returnEqualedVariablesOnly); //$NON-NLS-1$
+ completions.addAll(status.getProposals());
+
+ return completions;
+ }
+
+ public ELResolutionImpl resolveELOperand(IFile file,
+ ELExpression operand, boolean returnEqualedVariablesOnly)
+ throws BadLocationException, StringIndexOutOfBoundsException {
+ if(!(operand instanceof ELInvocationExpression) || file == null) {
+ return null;
+ }
+
+ ELInvocationExpression expr = (ELInvocationExpression)operand;
+ boolean isIncomplete = expr.getType() == ELObjectType.EL_PROPERTY_INVOCATION
+ && ((ELPropertyInvocation)expr).getName() == null;
+ boolean isArgument = expr.getType() == ELObjectType.EL_ARGUMENT_INVOCATION;
+
+ ELResolutionImpl resolution = new ELResolutionImpl(expr);
+ ELInvocationExpression left = expr;
+
+ List<IVariable> resolvedVariables = new ArrayList<IVariable>();
+
+ if (expr.getLeft() != null && isArgument) {
+ left = expr.getLeft();
+ resolvedVariables = resolveVariablesInternal(file, left, false,
+ true); // is Final and equal names are because of
+ // we have no more to resolve the parts of expression,
+ // but we have to resolve arguments of probably a message component
+ } else if (expr.getLeft() == null && isIncomplete) {
+ resolvedVariables = resolveVariablesInternal(file, expr, true,
+ returnEqualedVariablesOnly);
+ } else {
+ while(left != null) {
+ List<IVariable>resolvedVars = new ArrayList<IVariable>();
+ resolvedVars = resolveVariablesInternal(file,
+ left, left == expr,
+ returnEqualedVariablesOnly);
+ if (resolvedVars != null && !resolvedVars.isEmpty()) {
+ resolvedVariables = resolvedVars;
+ resolution.setLastResolvedToken(left);
+
+ ELSegmentImpl segment = new ELSegmentImpl();
+ segment.setToken(left.getFirstToken());
+ segment.setResolved(true);
+ resolution.addSegment(segment);
+
+ break;
+ }
+ left = (ELInvocationExpression)left.getLeft();
+ }
+ }
+
+ if (resolution.getLastResolvedToken() == null &&
+ !returnEqualedVariablesOnly &&
+ expr != null &&
+ isIncomplete) {
+ // no vars are resolved
+ // the tokens are the part of var name ended with a separator (.)
+ resolvedVariables = resolveVariablesInternal(file, expr, true, returnEqualedVariablesOnly);
+ Set<TextProposal> proposals = new TreeSet<TextProposal>(TextProposal.KB_PROPOSAL_ORDER);
+
+ ELSegmentImpl segment = new ELSegmentImpl();
+ segment.setToken(expr.getFirstToken());
+ segment.setResolved(false);
+ resolution.addSegment(segment);
+
+ for (IVariable var : resolvedVariables) {
+ String varName = var.getName();
+ if(varName.startsWith(operand.getText())) {
+ TextProposal proposal = new TextProposal();
+ proposal.setReplacementString(varName.substring(operand.getLength()));
+ setImage(proposal);
+ proposals.add(proposal);
+ }
+ }
+ resolution.setProposals(proposals);
+ segment.setResolved(!proposals.isEmpty());
+ return resolution;
+ }
+
+ // Here we have a list of vars for some part of expression
+ // OK. we'll proceed with members of these vars
+ if (resolution.getLastResolvedToken() == operand) {
+ // First segment is the last one
+ Set<TextProposal> proposals = new TreeSet<TextProposal>(TextProposal.KB_PROPOSAL_ORDER);
+ ELSegmentImpl segment = new ELSegmentImpl();
+ segment.setToken(operand.getFirstToken());
+ segment.setResolved(true);
+ resolution.addSegment(segment);
+
+ for (IVariable var : resolvedVariables) {
+ String varName = var.getName();
+ if(operand.getLength()<=varName.length()) {
+ TextProposal proposal = new TextProposal();
+ proposal.setReplacementString(varName.substring(operand.getLength()));
+ proposal.setLabel(varName);
+ setImage(proposal);
+ proposals.add(proposal);
+ } else if(returnEqualedVariablesOnly) {
+ TextProposal proposal = new TextProposal();
+ proposal.setReplacementString(varName);
+ proposal.setLabel(varName);
+ setImage(proposal);
+ proposals.add(proposal);
+ }
+ segment.getVariables().add(var);
+ }
+ resolution.setLastResolvedToken(expr);
+ resolution.setProposals(proposals);
+ return resolution;
+ }
+
+ //process segments one by one
+ if(left != null) {
+ while(left != expr) {
+ left = (ELInvocationExpression)left.getParent();
+ if (left != expr) { // inside expression
+ ELSegmentImpl segment = new ELSegmentImpl();
+ segment = new ELSegmentImpl();
+ segment.setResolved(true);
+ resolution.addSegment(segment);
+ resolution.setLastResolvedToken(left);
+ return resolution;
+ } else { // Last segment
+ resolveLastSegment((ELInvocationExpression)operand, resolvedVariables, resolution, returnEqualedVariablesOnly);
+ break;
+ }
+ }
+ } else {
+ ELSegmentImpl segment = new ELSegmentImpl();
+ segment.setToken(expr.getFirstToken());
+ resolution.addSegment(segment);
+ }
+
+ return resolution;
+ }
+
+ public List<IVariable> resolveVariablesInternal(IFile file, ELInvocationExpression expr, boolean isFinal, boolean onlyEqualNames) {
+ List<IVariable> result = new ArrayList<IVariable>();
+ String varName = expr.toString();
+ String[] vs = {"cc.attrs", "compositeComponent.attrs"};
+ for (int i = 0; i < vs.length; i++) {
+ String name = vs[i];
+ if(!isFinal || onlyEqualNames) {
+ if(!name.equals(varName)) continue;
+ }
+ if(!name.startsWith(varName)) continue;
+ Variable v = new Variable(name, file);
+ result.add(v);
+ break;
+ }
+ return result;
+ }
+
+ protected void setImage(TextProposal kbProposal) {
+ kbProposal.setImage(getELProposalImage());
+ }
+
+ protected void resolveLastSegment(ELInvocationExpression expr,
+ List<IVariable> members,
+ ELResolutionImpl resolution,
+ boolean returnEqualedVariablesOnly) {
+ Set<TextProposal> kbProposals = new TreeSet<TextProposal>(TextProposal.KB_PROPOSAL_ORDER);
+
+ ELSegmentImpl segment = new ELSegmentImpl();
+ resolution.setProposals(kbProposals);
+ if(expr instanceof ELPropertyInvocation) {
+ segment.setToken(((ELPropertyInvocation)expr).getName());
+ } else {
+ segment.setToken(expr.getFirstToken());
+ }
+
+ if(segment.getToken()!=null) {
+ resolution.addSegment(segment);
+ }
+
+ if (expr.getType() == ELObjectType.EL_PROPERTY_INVOCATION && ((ELPropertyInvocation)expr).getName() == null) {
+ // return all the methods + properties
+ for (IVariable mbr : members) {
+ processSingularMember(mbr, kbProposals);
+ }
+ } else
+ if(expr.getType() != ELObjectType.EL_ARGUMENT_INVOCATION) {
+ Set<String> proposalsToFilter = new TreeSet<String>();
+ for (IVariable mbr : members) {
+ filterSingularMember(mbr, proposalsToFilter);
+ }
+ for (String proposal : proposalsToFilter) {
+ // We do expect nothing but name for method tokens (No round brackets)
+ String filter = expr.getMemberName();
+ if(filter == null) filter = ""; //$NON-NLS-1$
+ if(returnEqualedVariablesOnly) {
+ // This is used for validation.
+ if (proposal.equals(filter)) {
+ TextProposal kbProposal = new TextProposal();
+ kbProposal.setReplacementString(proposal);
+ kbProposal.setLabel(proposal);
+ setImage(kbProposal);
+
+ kbProposals.add(kbProposal);
+
+ break;
+ }
+ } else if (proposal.startsWith(filter)) {
+ // This is used for CA.
+ TextProposal kbProposal = new TextProposal();
+ kbProposal.setReplacementString(proposal.substring(filter.length()));
+ kbProposal.setLabel(proposal);
+ kbProposal.setImage(getELProposalImage());
+
+ kbProposals.add(kbProposal);
+ }
+ }
+ } else if(expr.getType() == ELObjectType.EL_ARGUMENT_INVOCATION) {
+ Set<String> proposalsToFilter = new TreeSet<String>();
+ boolean isMessages = false;
+ for (IVariable mbr : members) {
+ isMessages = true;
+ filterSingularMember(mbr, proposalsToFilter);
+ }
+
+ String filter = expr.getMemberName();
+ boolean bSurroundWithQuotes = false;
+ if(filter == null) {
+ filter = ""; //$NON-NLS-1$
+ bSurroundWithQuotes = true;
+ } else {
+ boolean b = filter.startsWith("'") || filter.startsWith("\""); //$NON-NLS-1$ //$NON-NLS-2$
+ boolean e = filter.endsWith("'") || filter.endsWith("\""); //$NON-NLS-1$ //$NON-NLS-2$
+ if((b) && (e)) {
+ filter = filter.length() == 1 ? "" : filter.substring(1, filter.length() - 1); //$NON-NLS-1$
+ } else if(b && !returnEqualedVariablesOnly) {
+ filter = filter.substring(1);
+ } else {
+ //Value is set as expression itself, we cannot compute it
+ if(isMessages) {
+ resolution.setMapOrCollectionOrBundleAmoungTheTokens(true);
+ }
+ return;
+ }
+ }
+
+ for (String proposal : proposalsToFilter) {
+ if(returnEqualedVariablesOnly) {
+ // This is used for validation.
+ if (proposal.equals(filter)) {
+ TextProposal kbProposal = new TextProposal();
+ kbProposal.setReplacementString(proposal);
+ kbProposal.setLabel(proposal);
+ setImage(kbProposal);
+
+ kbProposals.add(kbProposal);
+
+ break;
+ }
+ } else if (proposal.startsWith(filter)) {
+ // This is used for CA.
+ TextProposal kbProposal = new TextProposal();
+
+ String replacementString = proposal.substring(filter.length());
+ if (bSurroundWithQuotes) {
+ replacementString = "'" + replacementString + "']"; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ kbProposal.setReplacementString(replacementString);
+ kbProposal.setLabel(proposal);
+ kbProposal.setImage(getELProposalImage());
+
+ kbProposals.add(kbProposal);
+ }
+ }
+ }
+ segment.setResolved(!kbProposals.isEmpty());
+ if (resolution.isResolved()){
+ resolution.setLastResolvedToken(expr);
+ }
+ }
+
+ protected void processSingularMember(IVariable mbr, Set<TextProposal> kbProposals) {
+ // Surround the "long" keys containing the dots with [' ']
+ TreeSet<String> keys = new TreeSet<String>(String.CASE_INSENSITIVE_ORDER);
+ keys.addAll(((Variable)mbr).getKeys());
+ Iterator<String> sortedKeys = keys.iterator();
+ while(sortedKeys.hasNext()) {
+ String key = sortedKeys.next();
+ if (key == null || key.length() == 0)
+ continue;
+ if (key.indexOf('.') != -1) {
+ TextProposal proposal = new TextProposal();
+ proposal.setReplacementString("['" + key + "']"); //$NON-NLS-1$ //$NON-NLS-2$
+ proposal.setLabel("['" + key + "']");
+ setImage(proposal);
+
+ kbProposals.add(proposal);
+ } else {
+ TextProposal proposal = new TextProposal();
+ proposal.setReplacementString(key);
+ proposal.setLabel(key);
+ setImage(proposal);
+
+ kbProposals.add(proposal);
+ }
+ }
+ }
+
+ protected void filterSingularMember(IVariable mbr, Set<String> proposalsToFilter) {
+ Collection<String> keys = ((Variable)mbr).getKeys();
+ for (String key : keys) {
+ proposalsToFilter.add(key);
+ }
+ }
+
+ static String[] COMMON_ATTRS = {"onclick", "ondblclick", "onkeydown", "onkeypress", "onkeyup", "onmousedown", "onmousemove", "onmouseout", "onmouseover", "onmouseup"};
+
+ static class Variable implements IVariable {
+ IFile f;
+ String name;
+
+ public Variable(String name, IFile f) {
+ this.name = name;
+ this.f = f;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public Collection<String> getKeys() {
+ TreeSet<String> result = new TreeSet<String>();
+
+ XModelObject o = EclipseResourceUtil.createObjectForResource(f);
+ if(o == null) return result;
+ if(!"FileJSF2Component".equals(o.getModelEntity().getName())) return result;
+
+ for (int i = 0; i < COMMON_ATTRS.length; i++) {
+ result.add(COMMON_ATTRS[i]);
+ }
+
+ XModelObject is = o.getChildByPath("Interface");
+ if(is == null) return result;
+
+ XModelObject[] cs = is.getChildren("JSF2ComponentAttribute");
+
+ for (int i = 0; i < cs.length; i++) {
+ result.add(cs[i].getAttributeValue("name"));
+ }
+ return result;
+ }
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.jboss.tools.common.el.core.ca.AbstractELCompletionEngine#getMemberInfoByVariable(org.jboss.tools.common.el.core.resolver.IVariable, boolean)
+ */
+ @Override
+ protected MemberInfo getMemberInfoByVariable(IVariable var,
+ boolean onlyEqualNames) {
+ return null;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.jboss.tools.common.el.core.ca.AbstractELCompletionEngine#resolveVariables(org.eclipse.core.resources.IFile, org.jboss.tools.common.el.core.model.ELInvocationExpression, boolean, boolean)
+ */
+ @Override
+ public List<IVariable> resolveVariables(IFile file,
+ ELInvocationExpression expr, boolean isFinal, boolean onlyEqualNames) {
+ return null;
+ }
+
+ @Override
+ protected boolean isStaticMethodsCollectingEnabled() {
+ return false;
+ }
+
+}
Property changes on: trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/JSF2CCAttrsELCompletionEngine.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
14 years, 3 months
JBoss Tools SVN: r20801 - trunk/jst/plugins/org.jboss.tools.jst.web/resources/meta.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2010-03-12 09:41:48 -0500 (Fri, 12 Mar 2010)
New Revision: 20801
Modified:
trunk/jst/plugins/org.jboss.tools.jst.web/resources/meta/webapp30.meta
Log:
https://jira.jboss.org/jira/browse/JBIDE-5975
Modified: trunk/jst/plugins/org.jboss.tools.jst.web/resources/meta/webapp30.meta
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web/resources/meta/webapp30.meta 2010-03-12 14:24:56 UTC (rev 20800)
+++ trunk/jst/plugins/org.jboss.tools.jst.web/resources/meta/webapp30.meta 2010-03-12 14:41:48 UTC (rev 20801)
@@ -1157,7 +1157,7 @@
<XModelAttributeReference
attributes="description,display-name,small-icon,large-icon"
entity="WebAppFilter" name="description"/>
- <XModelAttribute PROPERTIES="save=always;category=general"
+ <XModelAttribute PROPERTIES="save=always;category=general;id=true"
name="handler-name" xmlname="handler-name.#text"/>
<XModelAttribute PROPERTIES="save=always;category=general"
name="handler-class" xmlname="handler-class.#text">
@@ -2022,7 +2022,8 @@
</ICONS>
</XEntityRenderer>
<XModelAttributes>
- <XModelAttribute default="session-config" name="name" visibility="false"/>
+ <XModelAttribute PROPERTIES="id=true" default="session-config"
+ name="name" visibility="false"/>
<XModelAttribute PROPERTIES="category=general" name="session-timeout" xmlname="session-timeout.#text">
<Constraint loader="Int">
<value name="mandatory=false"/>
14 years, 3 months
JBoss Tools SVN: r20800 - trunk/jst/plugins/org.jboss.tools.jst.web/resources/meta.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2010-03-12 09:24:56 -0500 (Fri, 12 Mar 2010)
New Revision: 20800
Modified:
trunk/jst/plugins/org.jboss.tools.jst.web/resources/meta/webapp30.meta
Log:
https://jira.jboss.org/jira/browse/JBIDE-5975
Modified: trunk/jst/plugins/org.jboss.tools.jst.web/resources/meta/webapp30.meta
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web/resources/meta/webapp30.meta 2010-03-12 14:24:26 UTC (rev 20799)
+++ trunk/jst/plugins/org.jboss.tools.jst.web/resources/meta/webapp30.meta 2010-03-12 14:24:56 UTC (rev 20800)
@@ -80,9 +80,12 @@
name="xsi:schemaLocation" xmlname="xsi:schemaLocation"/>
<XModelAttribute PROPERTIES="save=always" default="3.0"
name="version" visibility="false" xmlname="version"/>
+ <XModelAttribute PROPERTIES="category=general" name="description" xmlname="description.#text">
+ <Editor name="Note"/>
+ </XModelAttribute>
<XModelAttributeReference
- attributes="description,display-name,small-icon,large-icon"
- entity="WebAppFilter" name="description"/>
+ attributes="display-name,small-icon,large-icon"
+ entity="WebAppFilter" name="display"/>
<XModelAttribute PROPERTIES="category=advanced" default="no"
name="distributable" xmlname="distributable">
<Constraint loader="List">
14 years, 3 months
JBoss Tools SVN: r20799 - trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/editors/webapp/form.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2010-03-12 09:24:26 -0500 (Fri, 12 Mar 2010)
New Revision: 20799
Modified:
trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/editors/webapp/form/WebAppFileFormLayoutData.java
trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/editors/webapp/form/WebAppFormLayoutData.java
trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/editors/webapp/form/WebAppListsFormLayoutData.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-5975
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/editors/webapp/form/WebAppFileFormLayoutData.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/editors/webapp/form/WebAppFileFormLayoutData.java 2010-03-12 13:16:53 UTC (rev 20798)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/editors/webapp/form/WebAppFileFormLayoutData.java 2010-03-12 14:24:26 UTC (rev 20799)
@@ -58,10 +58,4 @@
FILE_25_ENTITY, new String[]{null}, createFileDefinitions(Messages.WebAppFileFormLayoutData_WebDesc25, FILE_25_ENTITY)
);
- public static IFormData FILE_WEB_APP_30_DEFINITION = new FormData(
- FILE_30_ENTITY, new String[]{null}, createFileDefinitions(Messages.WebAppFileFormLayoutData_WebDesc30, FILE_30_ENTITY)
- );
-
-
-
}
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/editors/webapp/form/WebAppFormLayoutData.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/editors/webapp/form/WebAppFormLayoutData.java 2010-03-12 13:16:53 UTC (rev 20798)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/editors/webapp/form/WebAppFormLayoutData.java 2010-03-12 14:24:26 UTC (rev 20799)
@@ -65,7 +65,6 @@
WebAppFileFormLayoutData.FILE_WEB_APP_23_DEFINITION,
WebAppFileFormLayoutData.FILE_WEB_APP_24_DEFINITION,
WebAppFileFormLayoutData.FILE_WEB_APP_25_DEFINITION,
- WebAppFileFormLayoutData.FILE_WEB_APP_30_DEFINITION,
};
private static Map FORM_LAYOUT_DEFINITION_MAP = Collections.synchronizedMap(new ArrayToMap(FORM_LAYOUT_DEFINITIONS));
@@ -104,6 +103,10 @@
IFormData g = ModelFormLayoutData.createGeneralFormData(entity);
if(g != null) list.add(g);
+ if(entity.getName().startsWith("FileWebApp")) {
+ list.add(WebAppFileFormLayoutData.CONTEXT_PARAM_FOLDER_DEFINITION);
+ }
+
for (int i = 0; i < entity.getChildren().length; i++) {
String ce = entity.getChildren()[i].getName();
if(WebAppListsFormLayoutData.singleChildLists.containsKey(ce)) {
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/editors/webapp/form/WebAppListsFormLayoutData.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/editors/webapp/form/WebAppListsFormLayoutData.java 2010-03-12 13:16:53 UTC (rev 20798)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/editors/webapp/form/WebAppListsFormLayoutData.java 2010-03-12 14:24:26 UTC (rev 20799)
@@ -18,6 +18,8 @@
import org.jboss.tools.common.model.ui.forms.FormLayoutDataUtil;
import org.jboss.tools.common.model.ui.forms.IFormData;
import org.jboss.tools.common.model.ui.forms.ModelFormLayoutData;
+import org.jboss.tools.jst.web.model.helpers.WebAppHelper;
+import org.jboss.tools.jst.web.ui.Messages;
/**
* @author Viacheslav Kabanovich
@@ -83,6 +85,11 @@
createOneAttributeSingleChildList(
"Cookie Configs", "name", "WebAppCookieConfig", "CreateActions.CreateCookieConfig" //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
);
+
+ createTwoAttributeSingleChildList(
+ Messages.WebAppFileFormLayoutData_ContextParams, "param-name", 40, "param-value", WebAppHelper.CONTEXT_PARAM_ENTITY, "CreateActions.CreateContextParam" //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ );
+
}
14 years, 3 months
JBoss Tools SVN: r20798 - trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/cssdialog/common.
by jbosstools-commits@lists.jboss.org
Author: yzhishko
Date: 2010-03-12 08:16:53 -0500 (Fri, 12 Mar 2010)
New Revision: 20798
Modified:
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/cssdialog/common/CSSSelectorValidator.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-5994 fixed.
Modified: trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/cssdialog/common/CSSSelectorValidator.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/cssdialog/common/CSSSelectorValidator.java 2010-03-12 12:52:18 UTC (rev 20797)
+++ trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/cssdialog/common/CSSSelectorValidator.java 2010-03-12 13:16:53 UTC (rev 20798)
@@ -10,13 +10,15 @@
******************************************************************************/
package org.jboss.tools.jst.jsp.outline.cssdialog.common;
+import java.io.IOException;
+import java.io.StringReader;
import java.lang.ref.Reference;
import java.lang.ref.SoftReference;
-
import org.eclipse.jface.dialogs.IInputValidator;
+import org.eclipse.wst.css.core.internal.parser.CSSTokenizer;
+import org.jboss.tools.jst.jsp.JspEditorPlugin;
import org.jboss.tools.jst.jsp.messages.JstUIMessages;
import org.w3c.dom.css.CSSRuleList;
-import org.w3c.dom.css.CSSStyleRule;
/**
* CSS Validator
@@ -24,6 +26,7 @@
* @author yradtsevich
*
*/
+@SuppressWarnings("restriction")
public class CSSSelectorValidator extends CSSValidator implements
IInputValidator {
private static Reference<CSSSelectorValidator> instanceCache;
@@ -52,6 +55,8 @@
* @return {@code true} if the selector is valid, {@code false} otherwise
*/
public boolean isValidSelector(String selector) {
+ cleanValidatingDocument();
+
getValidatingDocument().set(selector + "{}"); //$NON-NLS-1$
CSSRuleList cssRules = getValidatingCSS().getCssRules();
@@ -61,14 +66,22 @@
return false;
}
- CSSStyleRule cssRule = (CSSStyleRule) cssRules.item(0);
- if (!selector.equals(cssRule.getSelectorText())) {
- // if the selector is like 'a{{{'
- return false;
+ //https://jira.jboss.org/jira/browse/JBIDE-5994 fix
+
+ CSSTokenizer cssTokenizer = new CSSTokenizer(new StringReader(selector+"{}")); //$NON-NLS-1$
+ try {
+ while (!cssTokenizer.isEOF()) {
+ String token = cssTokenizer.primGetNextToken();
+ if ("undefined".equalsIgnoreCase(token)) { //$NON-NLS-1$
+ return false;
+ }
+ }
+ } catch (IOException e) {
+ JspEditorPlugin.getPluginLog().logError(e);
}
-
+
cleanValidatingDocument();
-
+
return true;
}
14 years, 3 months
JBoss Tools SVN: r20797 - trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/views/server/extensions.
by jbosstools-commits@lists.jboss.org
Author: rob.stryker(a)jboss.com
Date: 2010-03-12 07:52:18 -0500 (Fri, 12 Mar 2010)
New Revision: 20797
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/views/server/extensions/ServerLogActionProvider.java
Log:
JBIDE-6028 - trunk
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/views/server/extensions/ServerLogActionProvider.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/views/server/extensions/ServerLogActionProvider.java 2010-03-12 09:31:09 UTC (rev 20796)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/views/server/extensions/ServerLogActionProvider.java 2010-03-12 12:52:18 UTC (rev 20797)
@@ -93,7 +93,8 @@
part = page.showView(ServerLogView.VIEW_ID);
} catch (PartInitException e) {
}
- } else /* if (part != null) */ {
+ }
+ if (part != null) {
ServerLogView view = (ServerLogView) part.getAdapter(ServerLogView.class);
if (view != null) {
view.setFocus();
14 years, 3 months
JBoss Tools SVN: r20796 - trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/wizards.
by jbosstools-commits@lists.jboss.org
Author: dgeraskov
Date: 2010-03-12 04:31:09 -0500 (Fri, 12 Mar 2010)
New Revision: 20796
Modified:
trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/wizards/NewHibernateMappingFileWizard.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-6051
set default-access type to field
Modified: trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/wizards/NewHibernateMappingFileWizard.java
===================================================================
--- trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/wizards/NewHibernateMappingFileWizard.java 2010-03-12 09:29:56 UTC (rev 20795)
+++ trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/wizards/NewHibernateMappingFileWizard.java 2010-03-12 09:31:09 UTC (rev 20796)
@@ -299,6 +299,7 @@
for (Entry<IJavaProject, Configuration> entry : configs.entrySet()) {
Configuration config = entry.getValue();
HibernateMappingGlobalSettings hmgs = new HibernateMappingGlobalSettings();
+ hmgs.setDefaultAccess("field"); //$NON-NLS-1$
//final IPath projPath = entry.getKey().getProject().getLocation();
IPath place2Gen = previewPage.getRootPlace2Gen().append(entry.getKey().getElementName());
14 years, 3 months
JBoss Tools SVN: r20795 - trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/wizards.
by jbosstools-commits@lists.jboss.org
Author: dgeraskov
Date: 2010-03-12 04:29:56 -0500 (Fri, 12 Mar 2010)
New Revision: 20795
Modified:
trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/wizards/ConfigurationActor.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-6050
discriminator value added
Modified: trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/wizards/ConfigurationActor.java
===================================================================
--- trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/wizards/ConfigurationActor.java 2010-03-12 09:29:13 UTC (rev 20794)
+++ trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/wizards/ConfigurationActor.java 2010-03-12 09:29:56 UTC (rev 20795)
@@ -174,6 +174,11 @@
if (pc != null){
if (pc.isAbstract()){
subclass = new SingleTableSubclass(pc);
+ if (pc instanceof RootClass && pc.getDiscriminator() == null){
+ SimpleValue discr = new SimpleValue();
+ discr.setTypeName("string"); //$NON-NLS-1$
+ ((RootClass)pc).setDiscriminator(discr);
+ }
} else {
subclass = new JoinedSubclass(pc);
}
14 years, 3 months