JBoss Tools SVN: r21483 - branches/modular_build.
by jbosstools-commits@lists.jboss.org
Author: nickboldt
Date: 2010-04-14 17:17:54 -0400 (Wed, 14 Apr 2010)
New Revision: 21483
Modified:
branches/modular_build/build.xml
Log:
JBDS-486: add -X flags for more memory on 64-bit
Modified: branches/modular_build/build.xml
===================================================================
--- branches/modular_build/build.xml 2010-04-14 20:08:28 UTC (rev 21482)
+++ branches/modular_build/build.xml 2010-04-14 21:17:54 UTC (rev 21483)
@@ -5,7 +5,7 @@
<!-- must set name of component to build/test -->
<property name="COMPONENT" value="tests" />
- <!-- default maven version -->
+ <!-- default maven version -->
<property name="maven.version" value="3.0-alpha-7" />
<!-- Configuration Ends -->
@@ -110,6 +110,7 @@
<!-- <arg line="-gs ${COMMON_TOOLS}/apache-maven-${maven.version}/conf/settings.xml" /> -->
<!-- <arg line="-o -Dmaven.test.skip" /> -->
<arg line="-Dmaven.repo.local=${COMMON_TOOLS}/m2-repository -fae clean install" />
+ <arg line="-Xms512m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=256m" />
</exec>
</target>
14 years, 9 months
JBoss Tools SVN: r21482 - branches/modular_build.
by jbosstools-commits@lists.jboss.org
Author: nickboldt
Date: 2010-04-14 16:08:28 -0400 (Wed, 14 Apr 2010)
New Revision: 21482
Modified:
branches/modular_build/build.xml
Log:
JBDS-486: add maven.repo.local flag
Modified: branches/modular_build/build.xml
===================================================================
--- branches/modular_build/build.xml 2010-04-14 20:04:47 UTC (rev 21481)
+++ branches/modular_build/build.xml 2010-04-14 20:08:28 UTC (rev 21482)
@@ -109,7 +109,7 @@
/> -->
<!-- <arg line="-gs ${COMMON_TOOLS}/apache-maven-${maven.version}/conf/settings.xml" /> -->
<!-- <arg line="-o -Dmaven.test.skip" /> -->
- <arg line="-fae clean install" />
+ <arg line="-Dmaven.repo.local=${COMMON_TOOLS}/m2-repository -fae clean install" />
</exec>
</target>
14 years, 9 months
JBoss Tools SVN: r21481 - branches/modular_build.
by jbosstools-commits@lists.jboss.org
Author: nickboldt
Date: 2010-04-14 16:04:47 -0400 (Wed, 14 Apr 2010)
New Revision: 21481
Modified:
branches/modular_build/build.xml
Log:
JBDS-486: use log levels instead of <debug> macro; comment out maven config stuff (may not be required)
Modified: branches/modular_build/build.xml
===================================================================
--- branches/modular_build/build.xml 2010-04-14 17:39:20 UTC (rev 21480)
+++ branches/modular_build/build.xml 2010-04-14 20:04:47 UTC (rev 21481)
@@ -4,18 +4,18 @@
<!-- Configuration Start -->
<!-- must set name of component to build/test -->
<property name="COMPONENT" value="tests" />
-
- <!-- more verbose output -->
- <property name="debug" value="false" />
+
+ <!-- default maven version -->
+ <property name="maven.version" value="3.0-alpha-7" />
<!-- Configuration Ends -->
<!-- To run this script in Eclipse:
Run As > Ant Build
-->
<!-- To run this script via commandline (build default module, tests):
- cd /home/nboldt/workspace36/jbosstools-modular_build; ant -q
+ cd /home/nboldt/workspace36/jbosstools-modular_build; ant
or, to build a specific module:
- cd /home/nboldt/workspace36/jbosstools-modular_build; ant -q -DCOMPONENT=jbpm
+ cd /home/nboldt/workspace36/jbosstools-modular_build; ant -DCOMPONENT=jbpm
-->
<target name="run" depends="init, genpom, install, deploy" />
@@ -65,32 +65,17 @@
</classpath>
</taskdef>
- <macrodef name="debug">
- <text name="echo" />
- <sequential>
- <if>
- <and>
- <isset property="debug" />
- <istrue value="${debug}" />
- </and>
- <then>
- <echo message="@{echo}" />
- </then>
- </if>
- </sequential>
- </macrodef>
-
<property name="MAVEN_MIRROR" value="http://mirror.csclub.uwaterloo.ca/apache/maven/binaries" />
<get usetimestamp="true"
- dest="${COMMON_TOOLS}/apache-maven-3.0-alpha-7-bin.tar.gz"
- src="${MAVEN_MIRROR}/apache-maven-3.0-alpha-7-bin.tar.gz"
+ dest="${COMMON_TOOLS}/apache-maven-${maven.version}-bin.tar.gz"
+ src="${MAVEN_MIRROR}/apache-maven-${maven.version}-bin.tar.gz"
/>
<untar compression="gzip"
overwrite="false"
dest="${COMMON_TOOLS}"
- src="${COMMON_TOOLS}/apache-maven-3.0-alpha-7-bin.tar.gz"
+ src="${COMMON_TOOLS}/apache-maven-${maven.version}-bin.tar.gz"
/>
- <chmod perm="755" file="${COMMON_TOOLS}/apache-maven-3.0-alpha-7/bin/mvn" />
+ <chmod perm="755" file="${COMMON_TOOLS}/apache-maven-${maven.version}/bin/mvn" />
</target>
<target name="genpom">
@@ -101,18 +86,28 @@
</target>
<target name="install">
- <debug>Generate settings.xml file</debug>
- <mkdir dir="${WORKINGDIR}/m2-repository" />
- <echo file="${COMMON_TOOLS}/apache-maven-3.0-alpha-7/conf/settings.xml">
+ <!-- <echo level="debug">Generate settings.xml file</echo>
+ <mkdir dir="${COMMON_TOOLS}/m2-repository" />
+ <echo file="${COMMON_TOOLS}/apache-maven-${maven.version}/conf/settings.xml">
<settings xmlns="http://maven.apache.org/settings/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
- <localRepository>${WORKINGDIR}/m2-repository</localRepository>
+ <localRepository>${COMMON_TOOLS}/m2-repository</localRepository>
<interactiveMode>false</interactiveMode>
<pluginGroups></pluginGroups><proxies></proxies><servers></servers><mirrors></mirrors><profiles></profiles>
-</settings></echo>
+</settings></echo> -->
- <debug>Run pom file: ${WORKINGDIR}/${COMPONENT}/pom.xml</debug>
- <exec executable="${COMMON_TOOLS}/apache-maven-3.0-alpha-7/bin/mvn" dir="${WORKINGDIR}/${COMPONENT}">
- <arg line="-gs ${COMMON_TOOLS}/apache-maven-3.0-alpha-7/conf/settings.xml" />
+ <echo level="verbose">Exe: ${COMMON_TOOLS}/apache-maven-${maven.version}/bin/mvn</echo>
+ <echo level="verbose">Pom: ${WORKINGDIR}/${COMPONENT}/pom.xml</echo>
+ <exec executable="${COMMON_TOOLS}/apache-maven-${maven.version}/bin/mvn"
+ dir="${WORKINGDIR}/${COMPONENT}"
+ failifexecutionfails="true"
+ failonerror="true"
+ timeout="10800000"
+ >
+ <env key="M2_HOME" value="${COMMON_TOOLS}/apache-maven-${maven.version}" />
+ <!-- <env key="MAVEN_OPTS"
+ value="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000"
+ /> -->
+ <!-- <arg line="-gs ${COMMON_TOOLS}/apache-maven-${maven.version}/conf/settings.xml" /> -->
<!-- <arg line="-o -Dmaven.test.skip" /> -->
<arg line="-fae clean install" />
</exec>
14 years, 9 months
JBoss Tools SVN: r21478 - trunk/common/plugins/org.jboss.tools.common.text.xml/src/org/jboss/tools/common/text/xml/contentassist.
by jbosstools-commits@lists.jboss.org
Author: vrubezhny
Date: 2010-04-14 13:00:21 -0400 (Wed, 14 Apr 2010)
New Revision: 21478
Modified:
trunk/common/plugins/org.jboss.tools.common.text.xml/src/org/jboss/tools/common/text/xml/contentassist/SortingCompoundContentAssistProcessor.java
Log:
JBIDE-6039: CA calculation is too slow for tag attribute values
The proposals merge procedure is re-factored
Modified: trunk/common/plugins/org.jboss.tools.common.text.xml/src/org/jboss/tools/common/text/xml/contentassist/SortingCompoundContentAssistProcessor.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.text.xml/src/org/jboss/tools/common/text/xml/contentassist/SortingCompoundContentAssistProcessor.java 2010-04-14 16:58:24 UTC (rev 21477)
+++ trunk/common/plugins/org.jboss.tools.common.text.xml/src/org/jboss/tools/common/text/xml/contentassist/SortingCompoundContentAssistProcessor.java 2010-04-14 17:00:21 UTC (rev 21478)
@@ -32,7 +32,7 @@
import org.eclipse.swt.graphics.Image;
import org.eclipse.wst.sse.core.internal.provisional.IModelManager;
import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.sse.core.internal.provisional.StructuredModelManager;
+import org.eclipse.wst.sse.core.StructuredModelManager;
import org.eclipse.wst.sse.ui.internal.contentassist.CustomCompletionProposal;
import org.eclipse.wst.sse.ui.internal.contentassist.IRelevanceCompletionProposal;
import org.eclipse.wst.sse.ui.internal.util.Sorter;
@@ -46,6 +46,7 @@
*
*/
+@SuppressWarnings("restriction")
public class SortingCompoundContentAssistProcessor implements IContentAssistProcessor {
private ISourceViewer fSourceViewer;
private String fPartitionType;
@@ -148,6 +149,7 @@
}
}
+ @SuppressWarnings("unchecked")
boolean containsAnObjectOfTheSameType(Collection collection, Object obj) {
if (collection == null || obj == null)
return false;
@@ -229,7 +231,6 @@
return new ICompletionProposal[0];
}
-
for (IContentAssistProcessor p : processors) {
ICompletionProposal[] proposals = p.computeCompletionProposals(viewer, offset);
if (proposals != null && proposals.length > 0) {
@@ -244,12 +245,11 @@
}
}
}
-
ICompletionProposal[] resultArray = ret.toArray(new ICompletionProposal[ret.size()]);
Object[] sorted = createSorter().sort(resultArray);
System.arraycopy(sorted, 0, resultArray, 0, sorted.length);
resultArray = makeUnique(resultArray);
-
+
return resultArray;
}
@@ -260,37 +260,16 @@
* @return a list of unique completion suggestions.
*/
public ICompletionProposal[] makeUnique(ICompletionProposal[] proposals) {
- ArrayList<ICompletionProposal> unique = new ArrayList<ICompletionProposal>();
-
- for (int i = 0; proposals != null && i < proposals.length; i++) {
- if (proposals[i] == null)
+ if (proposals == null)
+ return null;
+
+ Map <String, ICompletionProposal> existingProposals = new HashMap<String, ICompletionProposal>(proposals.length);
+ ArrayList<ICompletionProposal> unique = new ArrayList<ICompletionProposal>(proposals.length);
+
+ for (ICompletionProposal proposal : proposals) {
+ if (proposal == null)
continue;
-
- ICompletionProposal existingProposal = findExistingProposal(unique, proposals[i]);
- if (existingProposal == null) {
- unique.add(proposals[i]);
- }
- }
- return unique.toArray(new ICompletionProposal[unique.size()]);
- }
- private ICompletionProposal findExistingProposal(
- List<ICompletionProposal> proposals, ICompletionProposal proposal) {
- if (proposals == null || proposal == null)
- return null;
-
- for (ICompletionProposal existingProposal : proposals) {
- String exReplString = null;
- String exDispString = null;
-
- if (existingProposal instanceof CustomCompletionProposal) {
- exReplString = ((CustomCompletionProposal) existingProposal)
- .getReplacementString();
- }
- exDispString = unQuote(existingProposal.getDisplayString());
- exReplString = getReplacementWord(exReplString == null ? exDispString
- : exReplString);
-
String replString = null;
String dispString = null;
@@ -301,19 +280,20 @@
dispString = unQuote(proposal.getDisplayString());
replString = getReplacementWord(replString == null ? dispString
: replString);
-
- if (exReplString != null && replString != null
- && exReplString.equals(replString))
- return existingProposal;
+
+ ICompletionProposal existingProposal = existingProposals.get(replString);
+ if (existingProposal == null) {
+ existingProposals.put(replString, proposal);
+ unique.add(proposal);
+ }
}
-
- return null;
+ return unique.toArray(new ICompletionProposal[unique.size()]);
}
private String getReplacementWord(String replacement) {
replacement = (replacement == null ? "" : //$NON-NLS-1$
replacement);
- int index = replacement.indexOf('>'); //$NON-NLS-1$
+ int index = replacement.indexOf('>');
if (index != -1) {
replacement = replacement.substring(0, index).trim();
if (replacement.endsWith("/")) //$NON-NLS-1$
@@ -422,6 +402,7 @@
* @return the auto activation characters for completion proposal or <code>null</code>
* if no auto activation is desired
*/
+ @SuppressWarnings("unchecked")
public char[] getCompletionProposalAutoActivationCharacters() {
String contentType = getContentType(fSourceViewer);
if (contentType == null)
@@ -480,7 +461,7 @@
char[] chars = new char[ret.size()];
int i = 0;
- for (Iterator it = ret.iterator(); it.hasNext(); i++) {
+ for (Iterator<Character> it = ret.iterator(); it.hasNext(); i++) {
Character ch = (Character) it.next();
chars[i] = ch.charValue();
}
@@ -508,14 +489,14 @@
public IContextInformationValidator getContextInformationValidator() {
boolean hasValidator = false;
boolean hasPresenter = false;
- boolean hasExtension = false;
+// boolean hasExtension = false;
String contentType = getContentType(fSourceViewer);
if (contentType == null)
return null;
- List<Character> ret = new LinkedList<Character>();
+// List<Character> ret = new LinkedList<Character>();
if (fProcessorsMap.get(contentType) == null)
return null;
@@ -618,7 +599,7 @@
}
private static class SortingCompoundContentAssistValidator implements IContextInformationValidator {
- List fValidators = new ArrayList();
+ List<IContextInformationValidator> fValidators = new ArrayList<IContextInformationValidator>();
IContextInformationValidator fValidator;
void add(IContextInformationValidator validator) {
@@ -636,7 +617,7 @@
if (fValidator != null)
fValidator.install(realInfo, viewer, documentPosition);
else {
- for (Iterator it = fValidators.iterator(); it.hasNext();) {
+ for (Iterator<IContextInformationValidator> it = fValidators.iterator(); it.hasNext();) {
IContextInformationValidator v = (IContextInformationValidator) it.next();
v.install(realInfo, viewer, documentPosition);
}
@@ -671,7 +652,7 @@
if (fValidator != null)
isValid = fValidator.isContextInformationValid(documentPosition);
else {
- for (Iterator it = fValidators.iterator(); it.hasNext();) {
+ for (Iterator<IContextInformationValidator> it = fValidators.iterator(); it.hasNext();) {
IContextInformationValidator v = (IContextInformationValidator) it.next();
isValid |= v.isContextInformationValid(documentPosition);
}
@@ -688,7 +669,7 @@
if (fValidator instanceof IContextInformationPresenter)
presentationUpdated = ((IContextInformationPresenter) fValidator).updatePresentation(offset, presentation);
else {
- for (Iterator it = fValidators.iterator(); it.hasNext();) {
+ for (Iterator<IContextInformationValidator> it = fValidators.iterator(); it.hasNext();) {
IContextInformationValidator v = (IContextInformationValidator) it.next();
if (v instanceof IContextInformationPresenter)
presentationUpdated |= ((IContextInformationPresenter) v).updatePresentation(offset, presentation);
14 years, 9 months
JBoss Tools SVN: r21477 - in trunk: jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: vrubezhny
Date: 2010-04-14 12:58:24 -0400 (Wed, 14 Apr 2010)
New Revision: 21477
Added:
trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/ca/ELTextProposal.java
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/AutoELContentAssistantProposal.java
Modified:
trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/ca/AbstractELCompletionEngine.java
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/FaceletPageContectAssistProcessor.java
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/XmlContentAssistProcessor.java
Log:
JBIDE-6167: Move Proposal Info gathering for EL Proposals from resolve cycles to the proposal itself
The long-running Javadoc Info calculation operation is moved out of proposals gathering cycle
Modified: trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/ca/AbstractELCompletionEngine.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/ca/AbstractELCompletionEngine.java 2010-04-14 15:52:05 UTC (rev 21476)
+++ trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/ca/AbstractELCompletionEngine.java 2010-04-14 16:58:24 UTC (rev 21477)
@@ -12,20 +12,16 @@
import java.util.ArrayList;
import java.util.Collections;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
-import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
import org.eclipse.core.resources.IFile;
import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IMember;
import org.eclipse.jdt.core.IType;
import org.eclipse.jdt.core.JavaModelException;
import org.eclipse.jdt.core.Signature;
-import org.eclipse.jdt.internal.ui.text.java.ProposalInfo;
import org.eclipse.jface.text.BadLocationException;
import org.eclipse.jface.text.IDocument;
import org.eclipse.swt.graphics.Image;
@@ -320,10 +316,12 @@
if(v.getName().startsWith(prefix)) {
ELResolution r = resolveEL(file, v.getElToken(), true, vars, varSearcher);
ELSegment lastSegment = r.getLastSegment();
- MemberInfo memberInfo = null;
+ JavaMemberELSegment jmSegment = null;
+
if(lastSegment instanceof JavaMemberELSegment) {
- memberInfo = ((JavaMemberELSegment)lastSegment).getMemberInfo();
+ jmSegment = ((JavaMemberELSegment)lastSegment);
}
+ MemberInfo memberInfo = jmSegment == null ? null : jmSegment.getMemberInfo();
String sourceTypeName = memberInfo == null ? null : memberInfo.getDeclaringTypeQualifiedName();
if (sourceTypeName != null && sourceTypeName.indexOf('.') != -1) {
@@ -334,18 +332,21 @@
typeName = Signature.getSimpleName(typeName);
}
- IJavaElement element = memberInfo == null ? null : memberInfo.getJavaElement();
- String attachedJavaDoc = (element instanceof IMember)?(new ProposalInfo((IMember)element)).getInfo(null):null;
-
String varNameProposal = v.getName().substring(prefix.length());
- TextProposal proposal = new TextProposal();
+ ELTextProposal proposal = new ELTextProposal();
proposal.setLabel(v.getName());
proposal.setReplacementString(varNameProposal);
proposal.setLabel(v.getName());
proposal.setImage(getELProposalImage());
proposal.setType(typeName);
proposal.setSourceType(sourceTypeName);
- proposal.setContextInfo(attachedJavaDoc);
+ if (jmSegment != null) {
+ IJavaElement[] javaElements = jmSegment.getAllJavaElements();
+ for (int jeIndex = 0; javaElements != null && jeIndex < javaElements.length; jeIndex++) {
+ proposal.addJavaElement(javaElements[jeIndex]);
+ }
+ }
+
resolution.getProposals().add(proposal);
}
}
@@ -452,16 +453,17 @@
typeName = Signature.getSimpleName(typeName);
IJavaElement element = member == null ? null : member.getJavaElement();
- String attachedJavaDoc = (element instanceof IMember)?(new ProposalInfo((IMember)element)).getInfo(null):null;
- TextProposal proposal = new TextProposal();
+ ELTextProposal proposal = new ELTextProposal();
proposal.setLabel(varName);
proposal.setReplacementString(varName.substring(operand.getLength()));
setImage(proposal, var);
proposal.setType(typeName);
proposal.setSourceType(sourceTypeName);
- proposal.setContextInfo(attachedJavaDoc);
-
+ if (element != null) {
+ proposal.addJavaElement(element);
+ }
+
proposals.add(proposal);
// <<<=== JBIDE-512, JBIDE-2541 related changes
}
@@ -492,6 +494,7 @@
if(isSingularAttribute(var)) {
bijectedAttribute = getMemberInfoByVariable(var, true);
}
+
MemberInfo member = getMemberInfoByVariable(var, true);
String sourceTypeName = member == null ? null : member.getDeclaringTypeQualifiedName();
if (sourceTypeName != null && sourceTypeName.indexOf('.') != -1)
@@ -499,27 +502,33 @@
String typeName = member == null ? null : member.getType().getName();
if (typeName != null && typeName.indexOf('.') != -1)
typeName = Signature.getSimpleName(typeName);
+
IJavaElement element = member == null ? null : member.getJavaElement();
- String attachedJavaDoc = (element instanceof IMember)?(new ProposalInfo((IMember)element)).getInfo(null):null;
-
+
String varName = var.getName();
if(operand.getLength()<=varName.length()) {
- TextProposal proposal = new TextProposal();
+ ELTextProposal proposal = new ELTextProposal();
proposal.setReplacementString(varName.substring(operand.getLength()));
proposal.setLabel(varName);
setImage(proposal, var);
proposal.setType(typeName);
proposal.setSourceType(sourceTypeName);
- proposal.setContextInfo(attachedJavaDoc);
+ if (element != null) {
+ proposal.addJavaElement(element);
+ }
+
proposals.add(proposal);
} else if(returnEqualedVariablesOnly) {
- TextProposal proposal = new TextProposal();
+ ELTextProposal proposal = new ELTextProposal();
proposal.setReplacementString(varName);
proposal.setLabel(varName);
setImage(proposal, var);
proposal.setType(typeName);
proposal.setSourceType(sourceTypeName);
- proposal.setContextInfo(attachedJavaDoc);
+ if (element != null) {
+ proposal.addJavaElement(element);
+ }
+
proposals.add(proposal);
}
segment.setMemberInfo(bijectedAttribute!=null?bijectedAttribute:member);
@@ -717,16 +726,19 @@
String typeName = member == null ? null : member.getType().getName();
if (typeName != null && typeName.indexOf('.') != -1)
typeName = Signature.getSimpleName(typeName);
- IJavaElement element = member == null ? null : member.getJavaElement();
- String attachedJavaDoc = (element instanceof IMember)?(new ProposalInfo((IMember)element)).getInfo(null):null;
- TextProposal proposal = new TextProposal();
+ ELTextProposal proposal = new ELTextProposal();
proposal.setReplacementString(presentationString);
proposal.setLabel(presentationString);
proposal.setImage(getELProposalImage());
proposal.setType(typeName);
proposal.setSourceType(sourceTypeName);
- proposal.setContextInfo(attachedJavaDoc);
+ for (MemberInfo mi : presentation.getAllMembers()) {
+ IJavaElement element = mi.getJavaElement();
+ if (element != null) {
+ proposal.addJavaElement(element);
+ }
+ }
kbProposals.add(proposal);
}
@@ -759,17 +771,20 @@
String typeName = member == null ? null : member.getType().getName();
if (typeName != null && typeName.indexOf('.') != -1)
typeName = Signature.getSimpleName(typeName);
- IJavaElement element = member == null ? null : member.getJavaElement();
- String attachedJavaDoc = (element instanceof IMember)?(new ProposalInfo((IMember)element)).getInfo(null):null;
- TextProposal proposal = new TextProposal();
+ ELTextProposal proposal = new ELTextProposal();
proposal.setReplacementString(presentationString);
proposal.setLabel(presentationString);
proposal.setImage(getELProposalImage());
proposal.setType(typeName);
proposal.setSourceType(sourceTypeName);
- proposal.setContextInfo(attachedJavaDoc);
-
+ for (MemberInfo mi : presentation.getAllMembers()) {
+ IJavaElement element = mi.getJavaElement();
+ if (element != null) {
+ proposal.addJavaElement(element);
+ }
+ }
+
kbProposals.add(proposal);
}
}
@@ -844,16 +859,19 @@
String typeName = member == null ? null : member.getType().getName();
if (typeName != null && typeName.indexOf('.') != -1)
typeName = Signature.getSimpleName(typeName);
- IJavaElement element = member == null ? null : member.getJavaElement();
- String attachedJavaDoc = (element instanceof IMember)?(new ProposalInfo((IMember)element)).getInfo(null):null;
- TextProposal kbProposal = new TextProposal();
+ ELTextProposal kbProposal = new ELTextProposal();
kbProposal.setReplacementString(proposal.getPresentation().substring(filter.length()));
kbProposal.setLabel(proposal.getPresentation());
kbProposal.setImage(getELProposalImage());
kbProposal.setType(typeName);
kbProposal.setSourceType(sourceTypeName);
- kbProposal.setContextInfo(attachedJavaDoc);
+ for (MemberInfo mi : proposal.getAllMembers()) {
+ IJavaElement element = mi.getJavaElement();
+ if (element != null) {
+ kbProposal.addJavaElement(element);
+ }
+ }
kbProposals.add(kbProposal);
// <<<=== JBIDE-512, JBIDE-2541 related changes
@@ -941,10 +959,8 @@
String typeName = member == null ? null : member.getType().getName();
if (typeName != null && typeName.indexOf('.') != -1)
typeName = Signature.getSimpleName(typeName);
- IJavaElement element = member == null ? null : member.getJavaElement();
- String attachedJavaDoc = (element instanceof IMember)?(new ProposalInfo((IMember)element)).getInfo(null):null;
- TextProposal kbProposal = new TextProposal();
+ ELTextProposal kbProposal = new ELTextProposal();
String replacementString = proposal.getPresentation().substring(filter.length());
if (bSurroundWithQuotes) {
@@ -955,7 +971,12 @@
kbProposal.setImage(getELProposalImage());
kbProposal.setType(typeName);
kbProposal.setSourceType(sourceTypeName);
- kbProposal.setContextInfo(attachedJavaDoc);
+ for (MemberInfo mi : proposal.getAllMembers()) {
+ IJavaElement element = mi.getJavaElement();
+ if (element != null) {
+ kbProposal.addJavaElement(element);
+ }
+ }
kbProposals.add(kbProposal);
// <<<=== JBIDE-512, JBIDE-2541 related changes
Added: trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/ca/ELTextProposal.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/ca/ELTextProposal.java (rev 0)
+++ trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/ca/ELTextProposal.java 2010-04-14 16:58:24 UTC (rev 21477)
@@ -0,0 +1,49 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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.common.el.core.ca;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.eclipse.jdt.core.IJavaElement;
+import org.jboss.tools.common.text.TextProposal;
+
+/**
+ * Class to store proposals generated by ELResolver implementers
+ *
+ * @author Victor Rubezhny
+ */
+public class ELTextProposal extends TextProposal {
+ private Set<IJavaElement> allElements;
+
+ /**
+ * Adds a Java Element for the proposal
+ *
+ * @param element
+ */
+ public void addJavaElement(IJavaElement element) {
+ if (this.allElements == null) {
+ this.allElements = new HashSet<IJavaElement>();
+ }
+ this.allElements.add(element);
+ }
+
+ /**
+ * returns all the Java elements for the proposal
+ * @return
+ */
+ public IJavaElement[] getAllJavaElements() {
+ if (this.allElements == null || this.allElements.size() == 0) {
+ return new IJavaElement[0];
+ }
+ return (IJavaElement[])this.allElements.toArray(new IJavaElement[this.allElements.size()]);
+ }
+}
Property changes on: trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/ca/ELTextProposal.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/AutoELContentAssistantProposal.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/AutoELContentAssistantProposal.java (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/AutoELContentAssistantProposal.java 2010-04-14 16:58:24 UTC (rev 21477)
@@ -0,0 +1,183 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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.jsp.contentassist;
+
+import java.io.Reader;
+import java.io.StringReader;
+
+import org.eclipse.jdt.core.IJavaElement;
+import org.eclipse.jdt.core.IMember;
+import org.eclipse.jdt.core.JavaModelException;
+import org.eclipse.jdt.internal.ui.JavaPlugin;
+import org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2;
+import org.eclipse.jdt.internal.ui.viewsupport.JavaElementLinks;
+import org.eclipse.jdt.ui.JavaElementLabels;
+import org.eclipse.jface.internal.text.html.HTMLPrinter;
+import org.eclipse.jface.text.contentassist.IContextInformation;
+import org.eclipse.swt.graphics.Image;
+
+/**
+ * Class to provide EL proposals to Content Assistant.
+ * The main purpose is to provide correct additional proposal information based on
+ * IJavaElement objects collected for the proposal.
+ *
+ * @author Victor Rubezhny
+ */
+@SuppressWarnings("restriction")
+public class AutoELContentAssistantProposal extends AutoContentAssistantProposal {
+ private IJavaElement[] fJavaElements;
+ private String fAdditionalProposalInfo;
+
+ /**
+ * Constructs the proposal object
+ *
+ * @param replacementString
+ * @param replacementOffset
+ * @param replacementLength
+ * @param cursorPosition
+ * @param image
+ * @param displayString
+ * @param contextInformation
+ * @param elements
+ * @param relevance
+ */
+ public AutoELContentAssistantProposal(String replacementString, int replacementOffset, int replacementLength, int cursorPosition, Image image, String displayString, IContextInformation contextInformation, IJavaElement[] elements, int relevance) {
+ super(replacementString, replacementOffset, replacementLength, cursorPosition, image, displayString, contextInformation, null, relevance);
+ this.fJavaElements = elements;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.wst.sse.ui.internal.contentassist.CustomCompletionProposal#getAdditionalProposalInfo()
+ */
+ public String getAdditionalProposalInfo() {
+ if (fAdditionalProposalInfo == null) {
+ if (this.fJavaElements != null && this.fJavaElements.length > 0) {
+ this.fAdditionalProposalInfo = extractProposalContextInfo(fJavaElements);
+ }
+ }
+ return fAdditionalProposalInfo;
+ }
+
+ /*
+ * Extracts the additional proposal information based on Javadoc for the stored IJavaElement objects
+ */
+ private String extractProposalContextInfo(IJavaElement[] elements) {
+ int nResults= elements.length;
+ StringBuffer buffer= new StringBuffer();
+ boolean hasContents= false;
+ IJavaElement element= null;
+
+ if (nResults > 1) {
+ for (int i= 0; i < elements.length; i++) {
+ if (elements[i] == null) continue;
+ if (elements[i] instanceof IMember ||
+ elements[i].getElementType() == IJavaElement.LOCAL_VARIABLE ||
+ elements[i].getElementType() == IJavaElement.TYPE_PARAMETER) {
+ buffer.append('�').append(' ').append(getInfoText(elements[i]));
+ hasContents= true;
+ }
+ buffer.append("<br/>"); //$NON-NLS-1$
+ }
+
+ for (int i=0; i < elements.length; i++) {
+ if (elements[i] == null) continue;
+ if (elements[i] instanceof IMember ||
+ elements[i].getElementType() == IJavaElement.LOCAL_VARIABLE ||
+ elements[i].getElementType() == IJavaElement.TYPE_PARAMETER) {
+ buffer.append("<br/>"); //$NON-NLS-1$
+ addFullInfo(buffer, elements[i]);
+ hasContents = true;
+ }
+ }
+ } else {
+ element= elements[0];
+ if (element instanceof IMember ||
+ element.getElementType() == IJavaElement.LOCAL_VARIABLE ||
+ element.getElementType() == IJavaElement.TYPE_PARAMETER) {
+ addFullInfo(buffer, element);
+ hasContents= true;
+ }
+ }
+
+ if (!hasContents)
+ return null;
+
+ if (buffer.length() > 0) {
+ HTMLPrinter.insertPageProlog(buffer, 0, (String)null);
+ HTMLPrinter.addPageEpilog(buffer);
+ return buffer.toString();
+ }
+
+ return null;
+ }
+
+ private static final long LABEL_FLAGS= JavaElementLabels.ALL_FULLY_QUALIFIED
+ | JavaElementLabels.M_PRE_RETURNTYPE | JavaElementLabels.M_PARAMETER_TYPES | JavaElementLabels.M_PARAMETER_NAMES | JavaElementLabels.M_EXCEPTIONS
+ | JavaElementLabels.F_PRE_TYPE_SIGNATURE | JavaElementLabels.M_PRE_TYPE_PARAMETERS | JavaElementLabels.T_TYPE_PARAMETERS
+ | JavaElementLabels.USE_RESOLVED;
+ private static final long LOCAL_VARIABLE_FLAGS= LABEL_FLAGS & ~JavaElementLabels.F_FULLY_QUALIFIED | JavaElementLabels.F_POST_QUALIFIED;
+ private static final long TYPE_PARAMETER_FLAGS= LABEL_FLAGS | JavaElementLabels.TP_POST_QUALIFIED;
+
+ /*
+ * Returns the label for the IJavaElement objects
+ */
+ private String getInfoText(IJavaElement element) {
+ long flags;
+ switch (element.getElementType()) {
+ case IJavaElement.LOCAL_VARIABLE:
+ flags= LOCAL_VARIABLE_FLAGS;
+ break;
+ case IJavaElement.TYPE_PARAMETER:
+ flags= TYPE_PARAMETER_FLAGS;
+ break;
+ default:
+ flags= LABEL_FLAGS;
+ break;
+ }
+ StringBuffer label= new StringBuffer(JavaElementLinks.getElementLabel(element, flags));
+
+ StringBuffer buf= new StringBuffer();
+ buf.append("<span style='word-wrap:break-word;'>"); //$NON-NLS-1$
+ buf.append(label);
+ buf.append("</span>"); //$NON-NLS-1$
+
+ return buf.toString();
+ }
+
+ /*
+ * Adds full information to the additional proposal information
+ *
+ * @param buffer
+ * @param element
+ * @return
+ */
+ private void addFullInfo(StringBuffer buffer, IJavaElement element) {
+ if (element instanceof IMember) {
+ IMember member= (IMember) element;
+ HTMLPrinter.addSmallHeader(buffer, getInfoText(member));
+ Reader reader = null;
+ try {
+ String content= JavadocContentAccess2.getHTMLContent(member, true);
+ reader= content == null ? null : new StringReader(content);
+ } catch (JavaModelException ex) {
+ JavaPlugin.log(ex);
+ }
+
+ if (reader != null) {
+ HTMLPrinter.addParagraph(buffer, reader);
+ }
+
+ } else if (element.getElementType() == IJavaElement.LOCAL_VARIABLE || element.getElementType() == IJavaElement.TYPE_PARAMETER) {
+ HTMLPrinter.addSmallHeader(buffer, getInfoText(element));
+ }
+ }
+}
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/AutoELContentAssistantProposal.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/FaceletPageContectAssistProcessor.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/FaceletPageContectAssistProcessor.java 2010-04-14 15:52:05 UTC (rev 21476)
+++ trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/FaceletPageContectAssistProcessor.java 2010-04-14 16:58:24 UTC (rev 21477)
@@ -10,9 +10,10 @@
******************************************************************************/
package org.jboss.tools.jst.jsp.contentassist;
-import org.eclipse.jface.text.contentassist.IContextInformation;
+import org.eclipse.jdt.core.IJavaElement;
import org.eclipse.swt.graphics.Image;
import org.eclipse.wst.xml.ui.internal.contentassist.ContentAssistRequest;
+import org.jboss.tools.common.el.core.ca.ELTextProposal;
import org.jboss.tools.common.el.core.resolver.ELContext;
import org.jboss.tools.common.text.TextProposal;
import org.jboss.tools.jst.jsp.messages.JstUIMessages;
@@ -105,10 +106,10 @@
KbQuery kbQuery = createKbQuery(Type.TEXT, query, stringQuery);
TextProposal[] proposals = PageProcessor.getInstance().getProposals(kbQuery, getContext());
-
- for (int i = 0; proposals != null && i < proposals.length; i++) {
- TextProposal textProposal = proposals[i];
-
+ if (proposals == null || proposals.length == 0)
+ return;
+
+ for (TextProposal textProposal : proposals) {
int replacementOffset = beginChangeOffset;
int replacementLength = prefix.getLength();
String replacementString = prefix.getText().substring(0, replacementLength) + textProposal.getReplacementString();
@@ -127,17 +128,26 @@
displayString = textProposal.getReplacementString() == null ? replacementString : textProposal.getReplacementString();
// <<<=== JBIDE-512, JBIDE-2541 related changes
- IContextInformation contextInformation = null;
- String additionalProposalInfo = textProposal.getContextInfo();
int relevance = textProposal.getRelevance();
if (relevance == TextProposal.R_NONE) {
relevance = TextProposal.R_JSP_JSF_EL_VARIABLE_ATTRIBUTE_VALUE;
}
- AutoContentAssistantProposal proposal = new AutoContentAssistantProposal(replacementString,
- replacementOffset, replacementLength, cursorPosition, image, displayString,
- contextInformation, additionalProposalInfo, relevance);
+ AutoContentAssistantProposal proposal = null;
+ if (textProposal instanceof ELTextProposal) {
+ IJavaElement[] javaElements = ((ELTextProposal)textProposal).getAllJavaElements();
+
+ proposal = new AutoELContentAssistantProposal(replacementString,
+ replacementOffset, replacementLength, cursorPosition, image, displayString,
+ null, javaElements, relevance);
+ } else {
+ String additionalProposalInfo = (textProposal.getContextInfo() == null ? "" : textProposal.getContextInfo()); //$NON-NLS-1$
+ proposal = new AutoContentAssistantProposal(replacementString,
+ replacementOffset, replacementLength, cursorPosition, image, displayString,
+ null, additionalProposalInfo, relevance);
+ }
+
contentAssistRequest.addProposal(proposal);
}
@@ -157,9 +167,11 @@
protected void addAttributeNameProposals(
ContentAssistRequest contentAssistRequest) {
super.addAttributeNameProposals(contentAssistRequest);
- this.replaceJsfcTags = true;
- super.addAttributeNameProposals(contentAssistRequest);
- this.replaceJsfcTags = false;
+ if (isExistingAttribute(JSFC_ATTRIBUTE_NAME)) {
+ this.replaceJsfcTags = true;
+ super.addAttributeNameProposals(contentAssistRequest);
+ this.replaceJsfcTags = false;
+ }
}
/*
@@ -169,9 +181,11 @@
@Override
protected void addAttributeValueProposals(ContentAssistRequest contentAssistRequest) {
super.addAttributeValueProposals(contentAssistRequest);
- this.replaceJsfcTags = true;
- super.addAttributeValueProposals(contentAssistRequest);
- this.replaceJsfcTags = false;
+ if (isExistingAttribute(JSFC_ATTRIBUTE_NAME)) {
+ this.replaceJsfcTags = true;
+ super.addAttributeValueProposals(contentAssistRequest);
+ this.replaceJsfcTags = false;
+ }
}
/*
Modified: trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/XmlContentAssistProcessor.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/XmlContentAssistProcessor.java 2010-04-14 15:52:05 UTC (rev 21476)
+++ trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/XmlContentAssistProcessor.java 2010-04-14 16:58:24 UTC (rev 21477)
@@ -13,12 +13,14 @@
import java.util.List;
import java.util.Map;
+import org.eclipse.jdt.core.IJavaElement;
import org.eclipse.jface.text.contentassist.IContextInformation;
import org.eclipse.swt.graphics.Image;
import org.eclipse.wst.xml.ui.internal.contentassist.ContentAssistRequest;
import org.eclipse.wst.xml.ui.internal.contentassist.XMLRelevanceConstants;
import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImageHelper;
import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImages;
+import org.jboss.tools.common.el.core.ca.ELTextProposal;
import org.jboss.tools.common.el.core.resolver.ELContext;
import org.jboss.tools.common.el.core.resolver.ELResolver;
import org.jboss.tools.common.text.TextProposal;
@@ -284,7 +286,7 @@
contentAssistRequest.addProposal(proposal);
}
-
+
addELPredicateProposals(contentAssistRequest, TextProposal.R_JSP_ATTRIBUTE_VALUE, false);
}
@@ -315,13 +317,14 @@
}
int beginChangeOffset = prefix.getStartOffset() + prefix.getOffset();
-
+
KbQuery kbQuery = createKbQuery(Type.ATTRIBUTE_VALUE, query, stringQuery);
TextProposal[] proposals = PageProcessor.getInstance().getProposals(kbQuery, getContext());
- for (int i = 0; proposals != null && i < proposals.length; i++) {
- TextProposal textProposal = proposals[i];
-
+ if (proposals == null || proposals.length == 0)
+ return;
+
+ for (TextProposal textProposal : proposals) {
int replacementOffset = beginChangeOffset;
int replacementLength = prefix.getLength();
String replacementString = "#{" + prefix.getText().substring(0, replacementLength) + textProposal.getReplacementString(); //$NON-NLS-1$
@@ -346,23 +349,30 @@
displayString = textProposal.getReplacementString() == null ? replacementString : textProposal.getReplacementString();
// <<<=== JBIDE-512, JBIDE-2541 related changes
- IContextInformation contextInformation = null;
- String additionalProposalInfo = (textProposal.getContextInfo() == null ? "" : textProposal.getContextInfo()); //$NON-NLS-1$
int relevance = textProposal.getRelevance();
if (relevance == TextProposal.R_NONE) {
relevance = baseRelevance;
}
relevance += relevanceShift;
- AutoContentAssistantProposal proposal = new AutoContentAssistantProposal(replacementString,
- replacementOffset, replacementLength, cursorPosition, image, displayString,
- contextInformation, additionalProposalInfo, relevance);
+ AutoContentAssistantProposal proposal = null;
+ if (textProposal instanceof ELTextProposal) {
+ IJavaElement[] javaElements = ((ELTextProposal)textProposal).getAllJavaElements();
+
+ proposal = new AutoELContentAssistantProposal(replacementString,
+ replacementOffset, replacementLength, cursorPosition, image, displayString,
+ null, javaElements, relevance);
+ } else {
+ String additionalProposalInfo = (textProposal.getContextInfo() == null ? "" : textProposal.getContextInfo()); //$NON-NLS-1$
+ proposal = new AutoContentAssistantProposal(replacementString,
+ replacementOffset, replacementLength, cursorPosition, image, displayString,
+ null, additionalProposalInfo, relevance);
+ }
contentAssistRequest.addProposal(proposal);
}
}
-
@Override
protected void addAttributeValueELProposals(ContentAssistRequest contentAssistRequest) {
if (!isELCAToBeShown())
@@ -392,10 +402,11 @@
KbQuery kbQuery = createKbQuery(Type.ATTRIBUTE_VALUE, query, stringQuery);
TextProposal[] proposals = PageProcessor.getInstance().getProposals(kbQuery, getContext());
-
- for (int i = 0; proposals != null && i < proposals.length; i++) {
- TextProposal textProposal = proposals[i];
-
+
+ if (proposals == null || proposals.length == 0)
+ return;
+
+ for (TextProposal textProposal : proposals) {
int replacementOffset = beginChangeOffset;
int replacementLength = prefix.getLength();
String replacementString = prefix.getText().substring(0, replacementLength) + textProposal.getReplacementString();
@@ -423,17 +434,25 @@
displayString = textProposal.getReplacementString() == null ? replacementString : textProposal.getReplacementString();
// <<<=== JBIDE-512, JBIDE-2541 related changes
- IContextInformation contextInformation = null;
- String additionalProposalInfo = (textProposal.getContextInfo() == null ? "" : textProposal.getContextInfo()); //$NON-NLS-1$
int relevance = textProposal.getRelevance();
if (relevance == TextProposal.R_NONE) {
relevance = TextProposal.R_JSP_JSF_EL_VARIABLE_ATTRIBUTE_VALUE;
}
- AutoContentAssistantProposal proposal = new AutoContentAssistantProposal(replacementString,
- replacementOffset, replacementLength, cursorPosition, image, displayString,
- contextInformation, additionalProposalInfo, relevance);
+ AutoContentAssistantProposal proposal = null;
+ if (textProposal instanceof ELTextProposal) {
+ IJavaElement[] javaElements = ((ELTextProposal)textProposal).getAllJavaElements();
+
+ proposal = new AutoELContentAssistantProposal(replacementString,
+ replacementOffset, replacementLength, cursorPosition, image, displayString,
+ null, javaElements, relevance);
+ } else {
+ String additionalProposalInfo = (textProposal.getContextInfo() == null ? "" : textProposal.getContextInfo()); //$NON-NLS-1$
+ proposal = new AutoContentAssistantProposal(replacementString,
+ replacementOffset, replacementLength, cursorPosition, image, displayString,
+ null, additionalProposalInfo, relevance);
+ }
contentAssistRequest.addProposal(proposal);
}
@@ -473,9 +492,10 @@
KbQuery kbQuery = createKbQuery(Type.TEXT, query, stringQuery);
TextProposal[] proposals = PageProcessor.getInstance().getProposals(kbQuery, getContext());
- for (int i = 0; proposals != null && i < proposals.length; i++) {
- TextProposal textProposal = proposals[i];
-
+ if (proposals == null || proposals.length == 0)
+ return;
+
+ for (TextProposal textProposal : proposals) {
int replacementOffset = beginChangeOffset;
int replacementLength = prefix.getLength();
String replacementString = prefix.getText().substring(0, replacementLength) + textProposal.getReplacementString();
@@ -494,17 +514,25 @@
displayString = textProposal.getReplacementString() == null ? replacementString : textProposal.getReplacementString();
// <<<=== JBIDE-512, JBIDE-2541 related changes
- IContextInformation contextInformation = null;
- String additionalProposalInfo = textProposal.getContextInfo();
int relevance = textProposal.getRelevance();
if (relevance == TextProposal.R_NONE) {
relevance = TextProposal.R_JSP_JSF_EL_VARIABLE_ATTRIBUTE_VALUE;
}
- AutoContentAssistantProposal proposal = new AutoContentAssistantProposal(replacementString,
- replacementOffset, replacementLength, cursorPosition, image, displayString,
- contextInformation, additionalProposalInfo, relevance);
+ AutoContentAssistantProposal proposal = null;
+ if (textProposal instanceof ELTextProposal) {
+ IJavaElement[] javaElements = ((ELTextProposal)textProposal).getAllJavaElements();
+
+ proposal = new AutoELContentAssistantProposal(replacementString,
+ replacementOffset, replacementLength, cursorPosition, image, displayString,
+ null, javaElements, relevance);
+ } else {
+ String additionalProposalInfo = (textProposal.getContextInfo() == null ? "" : textProposal.getContextInfo()); //$NON-NLS-1$
+ proposal = new AutoContentAssistantProposal(replacementString,
+ replacementOffset, replacementLength, cursorPosition, image, displayString,
+ null, additionalProposalInfo, relevance);
+ }
contentAssistRequest.addProposal(proposal);
}
14 years, 9 months
JBoss Tools SVN: r21476 - trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/preferences.
by jbosstools-commits@lists.jboss.org
Author: akazakov
Date: 2010-04-14 11:52:05 -0400 (Wed, 14 Apr 2010)
New Revision: 21476
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/preferences/CDIConfigurationBlock.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-2708 Added new validation rule: Injection point other than injected field declares a @Named annotation that does not specify the value member
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/preferences/CDIConfigurationBlock.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/preferences/CDIConfigurationBlock.java 2010-04-14 15:47:36 UTC (rev 21475)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/preferences/CDIConfigurationBlock.java 2010-04-14 15:52:05 UTC (rev 21476)
@@ -32,7 +32,7 @@
new String[][]{
{CDIPreferences.STEREOTYPE_DECLARES_NON_EMPTY_NAME, CDIPreferencesMessages.CDIValidatorConfigurationBlock_pb_stereotypeDeclaresNonEmptyName_label},
{CDIPreferences.RESOURCE_PRODUCER_FIELD_SETS_EL_NAME, CDIPreferencesMessages.CDIValidatorConfigurationBlock_pb_resourceProducerFieldSetsElName_label},
-// {CDIPreferences.PARAM_INJECTION_DECLARES_EMPTY_NAME, CDIPreferencesMessages.CDIValidatorConfigurationBlock_pb_paramInjectionDeclaresEmptyName_label},
+ {CDIPreferences.PARAM_INJECTION_DECLARES_EMPTY_NAME, CDIPreferencesMessages.CDIValidatorConfigurationBlock_pb_paramInjectionDeclaresEmptyName_label},
// {CDIPreferences.INTERCEPTOR_HAS_NAME, CDIPreferencesMessages.CDIValidatorConfigurationBlock_pb_interceptorHasName_label},
},
CDICorePlugin.PLUGIN_ID
14 years, 9 months
JBoss Tools SVN: r21475 - in trunk/cdi: tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/validation and 2 other directories.
by jbosstools-commits@lists.jboss.org
Author: akazakov
Date: 2010-04-14 11:47:36 -0400 (Wed, 14 Apr 2010)
New Revision: 21475
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/validation/inject/
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/validation/inject/NamedInjectionBroken.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/validation/inject/Order.java
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDICoreValidator.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/ValidationTest.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-2708 Added new validation rule: Injection point other than injected field declares a @Named annotation that does not specify the value member
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDICoreValidator.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDICoreValidator.java 2010-04-14 14:40:01 UTC (rev 21474)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDICoreValidator.java 2010-04-14 15:47:36 UTC (rev 21475)
@@ -37,6 +37,8 @@
import org.jboss.tools.cdi.core.IAnnotationDeclaration;
import org.jboss.tools.cdi.core.IBean;
import org.jboss.tools.cdi.core.ICDIProject;
+import org.jboss.tools.cdi.core.IInjectionPoint;
+import org.jboss.tools.cdi.core.IInjectionPointField;
import org.jboss.tools.cdi.core.IParametedType;
import org.jboss.tools.cdi.core.IProducer;
import org.jboss.tools.cdi.core.IProducerField;
@@ -270,6 +272,11 @@
validateProducer((IProducer)bean);
}
+ Set<IInjectionPoint> points = bean.getInjectionPoints();
+ for (IInjectionPoint point : points) {
+ validateInjectionPoint(point);
+ }
+
// TODO
}
@@ -294,6 +301,29 @@
}
}
+ private void validateInjectionPoint(IInjectionPoint injection) {
+ if(!(injection instanceof IInjectionPointField)) {
+ IAnnotationDeclaration named = injection.getAnnotation(CDIConstants.NAMED_QUALIFIER_TYPE_NAME);
+ if(named!=null) {
+ try {
+ IMemberValuePair[] values = named.getDeclaration().getMemberValuePairs();
+ boolean valueExists = false;
+ for (IMemberValuePair pair : values) {
+ if("value".equals(pair.getMemberName())) {
+ valueExists = true;
+ break;
+ }
+ }
+ if(!valueExists) {
+ addError(CDIValidationMessages.PARAM_INJECTION_DECLARES_EMPTY_NAME, CDIPreferences.PARAM_INJECTION_DECLARES_EMPTY_NAME, named, injection.getResource());
+ }
+ } catch (JavaModelException e) {
+ CDICorePlugin.getDefault().logError(e);
+ }
+ }
+ }
+ }
+
/*
* 2.2.2. Restricting the bean types of a bean
* - bean class or producer method or field specifies a @Typed annotation,
Added: trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/validation/inject/NamedInjectionBroken.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/validation/inject/NamedInjectionBroken.java (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/validation/inject/NamedInjectionBroken.java 2010-04-14 15:47:36 UTC (rev 21475)
@@ -0,0 +1,24 @@
+package org.jboss.jsr299.tck.tests.jbt.inject;
+
+import javax.inject.Inject;
+import javax.inject.Named;
+
+public class NamedInjectionBroken {
+
+ @Named @Inject Order order;
+
+ @Named
+ @Inject
+ NamedInjectionBroken(Order order) {
+ // DO nothing
+ }
+
+ @Named @Inject public void init(Order order) {
+ // DO nothing
+ }
+
+ @Named("injectTestFooName") @Inject
+ public void foo(Order order) {
+ // DO nothing
+ }
+}
\ No newline at end of file
Property changes on: trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/validation/inject/NamedInjectionBroken.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/validation/inject/Order.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/validation/inject/Order.java (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/validation/inject/Order.java 2010-04-14 15:47:36 UTC (rev 21475)
@@ -0,0 +1,5 @@
+package org.jboss.jsr299.tck.tests.jbt.validation.inject;
+
+public class Order {
+
+}
\ No newline at end of file
Property changes on: trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/validation/inject/Order.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/ValidationTest.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/ValidationTest.java 2010-04-14 14:40:01 UTC (rev 21474)
+++ trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/ValidationTest.java 2010-04-14 15:47:36 UTC (rev 21475)
@@ -40,6 +40,17 @@
AbstractResourceMarkerTest.assertMarkerIsCreated(file, AbstractResourceMarkerTest.MARKER_TYPE, "Producer field declaration of Java EE resource specifies an EL name", 15, 19, 24, 27, 31);
}
+ /**
+ * 3.11. The qualifier @Named at injection points
+ * - injection point other than injected field declares a @Named annotation that does not specify the value member
+ *
+ * @throws Exception
+ */
+ public void testNamedInjectPoint() throws Exception {
+ IFile file = tckProject.getFile("JavaSource/org/jboss/jsr299/tck/tests/jbt/validation/inject/NamedInjectionBroken.java");
+ AbstractResourceMarkerTest.assertMarkerIsCreated(file, AbstractResourceMarkerTest.MARKER_TYPE, "Injection point other than injected field declares a @Named annotation that does not specify the value member", 10, 16);
+ }
+
public void testLegalTypesInTyped() throws Exception {
IFile petShopFile = tckProject.getFile("JavaSource/org/jboss/jsr299/tck/tests/lookup/typesafe/resolution/PetShop.java");
AbstractResourceMarkerTest.assertMarkerIsCreated(petShopFile, AbstractResourceMarkerTest.MARKER_TYPE, "Bean class or producer method or field specifies a @Typed annotation, and the value member specifies a class which does not correspond to a type in the unrestricted set of bean types of a bean", 25);
14 years, 9 months
JBoss Tools SVN: r21474 - in trunk/seam/tests/org.jboss.tools.seam.ui.test/src/org/jboss/tools/seam/ui/test: wizard and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: dazarov
Date: 2010-04-14 10:40:01 -0400 (Wed, 14 Apr 2010)
New Revision: 21474
Added:
trunk/seam/tests/org.jboss.tools.seam.ui.test/src/org/jboss/tools/seam/ui/test/wizard/Seam20XProjectNamesTest.java
trunk/seam/tests/org.jboss.tools.seam.ui.test/src/org/jboss/tools/seam/ui/test/wizard/SeamProjectNamesTest.java
Modified:
trunk/seam/tests/org.jboss.tools.seam.ui.test/src/org/jboss/tools/seam/ui/test/SeamUiAllTests.java
trunk/seam/tests/org.jboss.tools.seam.ui.test/src/org/jboss/tools/seam/ui/test/wizard/SeamCreateTestProjectTest.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-2809
Modified: trunk/seam/tests/org.jboss.tools.seam.ui.test/src/org/jboss/tools/seam/ui/test/SeamUiAllTests.java
===================================================================
--- trunk/seam/tests/org.jboss.tools.seam.ui.test/src/org/jboss/tools/seam/ui/test/SeamUiAllTests.java 2010-04-14 14:39:41 UTC (rev 21473)
+++ trunk/seam/tests/org.jboss.tools.seam.ui.test/src/org/jboss/tools/seam/ui/test/SeamUiAllTests.java 2010-04-14 14:40:01 UTC (rev 21474)
@@ -25,9 +25,11 @@
import org.jboss.tools.seam.ui.test.wizard.OpenSeamComponentDialogTest;
import org.jboss.tools.seam.ui.test.wizard.PackageNamesTest;
import org.jboss.tools.seam.ui.test.wizard.Seam20XCreateTestProjectTest;
+import org.jboss.tools.seam.ui.test.wizard.Seam20XProjectNamesTest;
import org.jboss.tools.seam.ui.test.wizard.SeamActionNewWizardTest;
import org.jboss.tools.seam.ui.test.wizard.SeamCreateTestProjectTest;
import org.jboss.tools.seam.ui.test.wizard.SeamFormNewWizardTest;
+import org.jboss.tools.seam.ui.test.wizard.SeamProjectNamesTest;
import org.jboss.tools.seam.ui.test.wizard.SeamProjectNewWizardTest;
import org.jboss.tools.test.util.ProjectImportTestSetup;
@@ -57,6 +59,8 @@
suite.addTestSuite(JBide3989Test.class);
suite.addTestSuite(SeamCreateTestProjectTest.class);
suite.addTestSuite(Seam20XCreateTestProjectTest.class);
+ suite.addTestSuite(SeamProjectNamesTest.class);
+ suite.addTestSuite(Seam20XProjectNamesTest.class);
return suite;
}
}
\ No newline at end of file
Added: trunk/seam/tests/org.jboss.tools.seam.ui.test/src/org/jboss/tools/seam/ui/test/wizard/Seam20XProjectNamesTest.java
===================================================================
--- trunk/seam/tests/org.jboss.tools.seam.ui.test/src/org/jboss/tools/seam/ui/test/wizard/Seam20XProjectNamesTest.java (rev 0)
+++ trunk/seam/tests/org.jboss.tools.seam.ui.test/src/org/jboss/tools/seam/ui/test/wizard/Seam20XProjectNamesTest.java 2010-04-14 14:40:01 UTC (rev 21474)
@@ -0,0 +1,53 @@
+package org.jboss.tools.seam.ui.test.wizard;
+
+import java.io.File;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.wst.common.project.facet.core.IProjectFacet;
+import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
+import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
+import org.jboss.tools.seam.core.project.facet.SeamRuntimeManager;
+import org.jboss.tools.seam.core.project.facet.SeamVersion;
+import org.jboss.tools.seam.core.test.project.facet.AbstractSeamFacetTest;
+
+public class Seam20XProjectNamesTest extends SeamProjectNamesTest {
+
+ public Seam20XProjectNamesTest(String name) {
+ super(name);
+ }
+
+ @Override
+ protected void setUp() throws Exception {
+ assertSeamHomeAvailable();
+ File folder = getSeamHomeFolder();
+ SeamRuntimeManager.getInstance().addRuntime(SEAM_2_0_0, folder.getAbsolutePath(), SeamVersion.SEAM_2_0, true);
+ }
+
+ @Override
+ protected IProjectFacetVersion getSeamFacetVersion() {
+ IProjectFacet seamFacet = ProjectFacetsManager.getProjectFacet("jst.seam");
+ return seamFacet.getVersion("2.0");
+ }
+
+ @Override
+ protected String getSystemPropertyName() {
+ // TODO Auto-generated method stub
+ return AbstractSeamFacetTest.SEAM_2_0_HOME;
+ }
+
+ public void testSeamWarProjectWithTestProject() throws CoreException{
+ checkProjectNamesCreation("seam12_war_t", "ear_seam12_war_t", "ejb_seam12_war_t", "test_seam12_war_t", SEAM_2_0_0, WAR, true);
+ }
+
+ public void testSeamWarProjectWithoutTestProject() throws CoreException{
+ checkProjectNamesCreation("seam12_war", "ear_seam12_war", "ejb_seam12_war", "test_seam12_war", SEAM_2_0_0, WAR, false);
+ }
+
+ public void testSeamEarProjectWithTestProject() throws CoreException{
+ checkProjectNamesCreation("seam12_ear_t", "ear_seam12_ear_t", "ejb_seam12_ear_t", "test_seam12_ear_t", SEAM_2_0_0, EAR, true);
+ }
+
+ public void testSeamEarProjectWithoutTestProject() throws CoreException{
+ checkProjectNamesCreation("seam12_ear", "ear_seam12_ear", "ejb_seam12_ear", "test_seam12_ear", SEAM_2_0_0, EAR, false);
+ }
+}
Property changes on: trunk/seam/tests/org.jboss.tools.seam.ui.test/src/org/jboss/tools/seam/ui/test/wizard/Seam20XProjectNamesTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/seam/tests/org.jboss.tools.seam.ui.test/src/org/jboss/tools/seam/ui/test/wizard/SeamCreateTestProjectTest.java
===================================================================
--- trunk/seam/tests/org.jboss.tools.seam.ui.test/src/org/jboss/tools/seam/ui/test/wizard/SeamCreateTestProjectTest.java 2010-04-14 14:39:41 UTC (rev 21473)
+++ trunk/seam/tests/org.jboss.tools.seam.ui.test/src/org/jboss/tools/seam/ui/test/wizard/SeamCreateTestProjectTest.java 2010-04-14 14:40:01 UTC (rev 21474)
@@ -10,17 +10,10 @@
******************************************************************************/
package org.jboss.tools.seam.ui.test.wizard;
-import java.io.File;
-
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.jboss.tools.seam.core.project.facet.SeamRuntimeManager;
-import org.jboss.tools.seam.core.project.facet.SeamVersion;
import org.jboss.tools.seam.core.test.project.facet.AbstractSeamFacetTest;
import org.jboss.tools.seam.internal.core.project.facet.ISeamFacetDataModelProperties;
Added: trunk/seam/tests/org.jboss.tools.seam.ui.test/src/org/jboss/tools/seam/ui/test/wizard/SeamProjectNamesTest.java
===================================================================
--- trunk/seam/tests/org.jboss.tools.seam.ui.test/src/org/jboss/tools/seam/ui/test/wizard/SeamProjectNamesTest.java (rev 0)
+++ trunk/seam/tests/org.jboss.tools.seam.ui.test/src/org/jboss/tools/seam/ui/test/wizard/SeamProjectNamesTest.java 2010-04-14 14:40:01 UTC (rev 21474)
@@ -0,0 +1,81 @@
+/*******************************************************************************
+ * 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.seam.ui.test.wizard;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
+import org.eclipse.wst.common.project.facet.core.IFacetedProject;
+import org.jboss.tools.seam.core.test.project.facet.AbstractSeamFacetTest;
+import org.jboss.tools.seam.internal.core.project.facet.ISeamFacetDataModelProperties;
+
+/**
+ * @author daniel
+ *
+ */
+public class SeamProjectNamesTest extends AbstractSeamFacetTest {
+ public static final String WAR = "war";
+ public static final String EAR = "ear";
+
+ public SeamProjectNamesTest(String name) {
+ super(name);
+ }
+
+ protected void checkProjectNamesCreation(String warProjectName, String earProjectName, String ejbProjectName, String testProjectName, String seamVersion, String deployType, boolean createTestProject) throws CoreException{
+ IDataModel model = createSeamDataModel(deployType);
+
+ // set property to create test project
+ model.setProperty(ISeamFacetDataModelProperties.TEST_PROJECT_CREATING, new Boolean(createTestProject));
+
+ model.setStringProperty(ISeamFacetDataModelProperties.SEAM_RUNTIME_NAME, seamVersion);
+
+ model.setStringProperty(ISeamFacetDataModelProperties.SEAM_EAR_PROJECT, earProjectName);
+ model.setStringProperty(ISeamFacetDataModelProperties.SEAM_EJB_PROJECT, ejbProjectName);
+ model.setStringProperty(ISeamFacetDataModelProperties.SEAM_TEST_PROJECT, testProjectName);
+
+ final IFacetedProject fproj = createSeamProject(warProjectName, model);
+
+ final IProject proj = fproj.getProject();
+
+ assertNotNull(proj);
+ assertTrue(proj.exists());
+ if(createTestProject){
+ assertTrue(proj.getWorkspace().getRoot().getProject(testProjectName).exists());
+ //IProject testProject = proj.getWorkspace().getRoot().getProject(proj.getName() + "-test");
+ }else{
+ assertFalse(proj.getWorkspace().getRoot().getProject(testProjectName).exists());
+ }
+
+ if(WAR.equals(deployType)){
+ assertFalse(proj.getWorkspace().getRoot().getProject(earProjectName).exists());
+ assertFalse(proj.getWorkspace().getRoot().getProject(ejbProjectName).exists());
+ }else if(EAR.equals(deployType)){
+ assertTrue(proj.getWorkspace().getRoot().getProject(earProjectName).exists());
+ assertTrue(proj.getWorkspace().getRoot().getProject(ejbProjectName).exists());
+ }
+ }
+
+ public void testSeamWarProjectWithTestProject() throws CoreException{
+ checkProjectNamesCreation("seam12_war_t", "ear_seam12_war_t", "ejb_seam12_war_t", "test_seam12_war_t", SEAM_1_2_0, WAR, true);
+ }
+
+ public void testSeamWarProjectWithoutTestProject() throws CoreException{
+ checkProjectNamesCreation("seam12_war", "ear_seam12_war", "ejb_seam12_war", "test_seam12_war", SEAM_1_2_0, WAR, false);
+ }
+
+ public void testSeamEarProjectWithTestProject() throws CoreException{
+ checkProjectNamesCreation("seam12_ear_t", "ear_seam12_ear_t", "ejb_seam12_ear_t", "test_seam12_ear_t", SEAM_1_2_0, EAR, true);
+ }
+
+ public void testSeamEarProjectWithoutTestProject() throws CoreException{
+ checkProjectNamesCreation("seam12_ear", "ear_seam12_ear", "ejb_seam12_ear", "test_seam12_ear", SEAM_1_2_0, EAR, false);
+ }
+}
Property changes on: trunk/seam/tests/org.jboss.tools.seam.ui.test/src/org/jboss/tools/seam/ui/test/wizard/SeamProjectNamesTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
14 years, 9 months