JBoss Tools SVN: r31111 - in branches/jbosstools-3.2.x/smooks: plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration and 3 other directories.
by jbosstools-commits@lists.jboss.org
Author: tfennelly
Date: 2011-05-05 14:56:04 -0400 (Thu, 05 May 2011)
New Revision: 31111
Added:
branches/jbosstools-3.2.x/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/launch/JavaGraphBuilder.java
Modified:
branches/jbosstools-3.2.x/smooks/
branches/jbosstools-3.2.x/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/RuntimeMetadata.java
branches/jbosstools-3.2.x/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SelectorCreationDialog.java
branches/jbosstools-3.2.x/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/javabean12/PropertiesAndSetterMethodSearchFieldEditorCreator.java
branches/jbosstools-3.2.x/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/launch/SmooksLaunchConfigurationDelegate.java
branches/jbosstools-3.2.x/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/launch/SmooksLaunchShortcut.java
branches/jbosstools-3.2.x/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/launch/SmooksLauncher.java
Log:
https://issues.jboss.org/browse/JBIDE-7509
Launch Configuration doesn't work for Java Sources
Property changes on: branches/jbosstools-3.2.x/smooks
___________________________________________________________________
Added: svn:mergeinfo
+ /trunk/smooks:29129-29130,29167-29168
Modified: branches/jbosstools-3.2.x/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/RuntimeMetadata.java
===================================================================
--- branches/jbosstools-3.2.x/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/RuntimeMetadata.java 2011-05-05 17:10:17 UTC (rev 31110)
+++ branches/jbosstools-3.2.x/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/RuntimeMetadata.java 2011-05-05 18:56:04 UTC (rev 31111)
@@ -50,7 +50,7 @@
* @author <a href="mailto:tom.fennelly@jboss.com">tom.fennelly(a)jboss.com</a>
*/
public class RuntimeMetadata {
-
+ private String inputClassName = null;
private Smooks metadataExtractor;
private boolean isSmooksConfig;
private boolean isValidSmooksConfig;
@@ -70,7 +70,21 @@
// Build dependency map...
RuntimeDependency.addDependencyChecklist(metadataExtractor);
}
+
+
+ public String getInputClassName() {
+ return inputClassName;
+ }
+
+
+
+ public void setInputClassName(String inputClassName) {
+ this.inputClassName = inputClassName;
+ }
+
+
+
public boolean isSmooksConfig() {
return isSmooksConfig;
}
@@ -188,19 +202,24 @@
if (inputType != null) {
String inputPath = inputParams.getProperty(inputType);
if (inputPath != null) {
- String resolvedFilePath;
+ String resolvedFilePath = null;
try {
resolvedFilePath = SmooksUIUtils.parseFilePath(inputPath.trim());
} catch (Exception e) {
// It's not a valid config...
inputFile = new File(inputPath.trim());
- return;
+// return;
}
-
- inputFile = new File(resolvedFilePath);
- if (SmooksModelUtils.INPUT_TYPE_JAVA.equals(inputType) || (inputFile.exists() && inputFile.isFile())) {
+ if(resolvedFilePath != null){
+ inputFile = new File(resolvedFilePath);
+ }
+ if (SmooksModelUtils.INPUT_TYPE_JAVA.equals(inputType)){
isValidSmooksConfig = true;
+ setInputClassName(inputPath);
}
+ if ((inputFile.exists() && inputFile.isFile())) {
+ isValidSmooksConfig = true;
+ }
}
}
} catch (Exception e) {
Modified: branches/jbosstools-3.2.x/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SelectorCreationDialog.java
===================================================================
--- branches/jbosstools-3.2.x/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SelectorCreationDialog.java 2011-05-05 17:10:17 UTC (rev 31110)
+++ branches/jbosstools-3.2.x/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SelectorCreationDialog.java 2011-05-05 18:56:04 UTC (rev 31111)
@@ -11,22 +11,10 @@
package org.jboss.tools.smooks.configuration.editors;
import java.util.ArrayList;
-import java.util.Collection;
import java.util.Collections;
-import java.util.EnumSet;
-import java.util.HashMap;
import java.util.Iterator;
-import java.util.LinkedHashSet;
import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.lang.reflect.Array;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Type;
-import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
@@ -35,8 +23,6 @@
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
-import org.w3c.dom.Document;
-
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.viewers.DoubleClickEvent;
@@ -70,8 +56,6 @@
import org.jboss.tools.smooks.configuration.editors.edireader12.EDIDataParser;
import org.jboss.tools.smooks.configuration.editors.input.InputParameter;
import org.jboss.tools.smooks.configuration.editors.input.InputType;
-import org.jboss.tools.smooks.configuration.editors.javabean12.JavaBeanModel;
-import org.jboss.tools.smooks.configuration.editors.javabean12.JavaBeanModelFactory;
import org.jboss.tools.smooks.configuration.editors.uitls.JsonInputDataParser;
import org.jboss.tools.smooks.configuration.editors.uitls.SmooksUIUtils;
import org.jboss.tools.smooks.configuration.editors.wizard.StructuredDataSelectionWizard;
@@ -80,10 +64,12 @@
import org.jboss.tools.smooks.configuration.editors.xml.XMLObjectAnalyzer;
import org.jboss.tools.smooks.configuration.editors.xml.XSDObjectAnalyzer;
import org.jboss.tools.smooks.editor.ISmooksModelProvider;
+import org.jboss.tools.smooks.launch.JavaGraphBuilder;
import org.jboss.tools.smooks.model.smooks.DocumentRoot;
import org.jboss.tools.smooks.model.smooks.SmooksResourceListType;
import org.milyn.Smooks;
import org.milyn.payload.JavaSource;
+import org.w3c.dom.Document;
/**
* @author Dart (dpeng(a)redhat.com)
@@ -539,109 +525,6 @@
return super.close();
}
- public static class JavaGraphBuilder {
-
- public <T> T buildGraph(Class<T> messageType) {
- try {
- return buildObject(messageType);
- } catch (Exception e) {
- e.printStackTrace();
- throw new IllegalArgumentException("Unable to construct an instance of '" + messageType.getName() + "'", e);
- }
- }
-
- @SuppressWarnings("unchecked")
- private <T> T buildObject(Class<T> objectType) throws IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException {
-
- if(String.class.isAssignableFrom(objectType)) {
- return objectType.cast("x");
- } else if(Number.class.isAssignableFrom(objectType)) {
- return objectType.getConstructor(String.class).newInstance("1");
- } else if(objectType.isPrimitive()) {
- return (T) primitiveToObjectMap.get(objectType);
- } else if(objectType == Object.class) {
- // don't construct raw Object types... leave them and just return null...
- return null;
- } else if(objectType.isEnum()) {
- return (T) EnumSet.allOf((Class<Enum>)objectType).iterator().next();
- }
-
- T messageInstance = objectType.newInstance();
-
- // populate all the fields...
- Method[] methods = objectType.getMethods();
- for(Method method : methods) {
- if(method.getName().startsWith("set") && method.getParameterTypes().length == 1) {
- Class<?> propertyType = method.getParameterTypes()[0];
- Object propertyInstance = null;
-
- if(Collection.class.isAssignableFrom(propertyType)) {
- propertyInstance = buildCollection(method, propertyType);
- } else if(propertyType.isArray()) {
- propertyInstance = buildArray(method, propertyType);
- } else {
- propertyInstance = buildObject(propertyType);
- }
-
- if(propertyInstance != null) {
- method.invoke(messageInstance, propertyInstance);
- }
- }
- }
-
- return messageInstance;
- }
-
- private Object buildArray(Method method, Class<?> propertyType) throws ArrayIndexOutOfBoundsException, IllegalArgumentException, IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException {
- Class<?> arrayType = propertyType.getComponentType();
- Object[] arrayObj = (Object[]) Array.newInstance(arrayType, 1);
-
- Array.set(arrayObj, 0, buildObject(arrayType));
-
- return arrayObj;
- }
-
- private Object buildCollection(Method method, Class<?> propertyType) throws IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException {
- Type genericType = method.getGenericParameterTypes()[0];
-
- if(genericType instanceof ParameterizedType) {
- ParameterizedType genericTypeClass = (ParameterizedType) genericType;
- Collection collection = null;
-
- if(!propertyType.isInterface()) {
- // It's a concrete Collection type... just create an instance...
- collection = (Collection) propertyType.newInstance();
- }else if(List.class.isAssignableFrom(propertyType)) {
- collection = new ArrayList();
- } else if(Set.class.isAssignableFrom(propertyType)) {
- collection = new LinkedHashSet();
- }
-
- if(collection != null) {
- collection.add(buildObject((Class<Object>) genericTypeClass.getActualTypeArguments()[0]));
- return collection;
- }
- }
-
- return null;
- }
-
- private static final Map<Class, Object> primitiveToObjectMap;
-
- static {
- primitiveToObjectMap = new HashMap<Class, Object>();
- primitiveToObjectMap.put(int.class, 1);
- primitiveToObjectMap.put(long.class, 1L);
- primitiveToObjectMap.put(boolean.class, true);
- primitiveToObjectMap.put(float.class, 1f);
- primitiveToObjectMap.put(double.class, 1d);
- primitiveToObjectMap.put(char.class, '1');
- primitiveToObjectMap.put(byte.class, Byte.parseByte("1"));
- primitiveToObjectMap.put(short.class, 1);
- }
-
- }
-
public static Document getModel(Class<?> theModelClass) throws Exception {
try {
Object objectGraph = graphBuilder.buildGraph(theModelClass);
Modified: branches/jbosstools-3.2.x/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/javabean12/PropertiesAndSetterMethodSearchFieldEditorCreator.java
===================================================================
--- branches/jbosstools-3.2.x/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/javabean12/PropertiesAndSetterMethodSearchFieldEditorCreator.java 2011-05-05 17:10:17 UTC (rev 31110)
+++ branches/jbosstools-3.2.x/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/javabean12/PropertiesAndSetterMethodSearchFieldEditorCreator.java 2011-05-05 18:56:04 UTC (rev 31111)
@@ -73,10 +73,10 @@
for (int i = 0; i < children.length; i++) {
Control child = children[i];
if(child instanceof Button){
- child.setEnabled(false);
+// child.setEnabled(false);
}
}
- editPart.getContentControl().setEnabled(false);
+// editPart.getContentControl().setEnabled(false);
return editPart;
}
}
Copied: branches/jbosstools-3.2.x/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/launch/JavaGraphBuilder.java (from rev 29168, trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/launch/JavaGraphBuilder.java)
===================================================================
--- branches/jbosstools-3.2.x/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/launch/JavaGraphBuilder.java (rev 0)
+++ branches/jbosstools-3.2.x/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/launch/JavaGraphBuilder.java 2011-05-05 18:56:04 UTC (rev 31111)
@@ -0,0 +1,131 @@
+package org.jboss.tools.smooks.launch;
+
+import java.lang.reflect.Array;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.lang.reflect.ParameterizedType;
+import java.lang.reflect.Type;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.EnumSet;
+import java.util.HashMap;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerConfigurationException;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMResult;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+
+import org.milyn.Smooks;
+import org.milyn.payload.JavaSource;
+import org.w3c.dom.Document;
+
+public class JavaGraphBuilder {
+
+ public <T> T buildGraph(Class<T> messageType) {
+ try {
+ return buildObject(messageType);
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw new IllegalArgumentException("Unable to construct an instance of '" + messageType.getName() + "'", e);
+ }
+ }
+
+ @SuppressWarnings("unchecked")
+ private <T> T buildObject(Class<T> objectType) throws IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException {
+
+ if(String.class.isAssignableFrom(objectType)) {
+ return objectType.cast("x");
+ } else if(Number.class.isAssignableFrom(objectType)) {
+ return objectType.getConstructor(String.class).newInstance("1");
+ } else if(objectType.isPrimitive()) {
+ return (T) primitiveToObjectMap.get(objectType);
+ } else if(objectType == Object.class) {
+ // don't construct raw Object types... leave them and just return null...
+ return null;
+ } else if(objectType.isEnum()) {
+ return (T) EnumSet.allOf((Class<Enum>)objectType).iterator().next();
+ }
+
+ T messageInstance = objectType.newInstance();
+
+ // populate all the fields...
+ Method[] methods = objectType.getMethods();
+ for(Method method : methods) {
+ if(method.getName().startsWith("set") && method.getParameterTypes().length == 1) {
+ Class<?> propertyType = method.getParameterTypes()[0];
+ Object propertyInstance = null;
+
+ if(Collection.class.isAssignableFrom(propertyType)) {
+ propertyInstance = buildCollection(method, propertyType);
+ } else if(propertyType.isArray()) {
+ propertyInstance = buildArray(method, propertyType);
+ } else {
+ propertyInstance = buildObject(propertyType);
+ }
+
+ if(propertyInstance != null) {
+ method.invoke(messageInstance, propertyInstance);
+ }
+ }
+ }
+
+ return messageInstance;
+ }
+
+ private Object buildArray(Method method, Class<?> propertyType) throws ArrayIndexOutOfBoundsException, IllegalArgumentException, IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException {
+ Class<?> arrayType = propertyType.getComponentType();
+ Object[] arrayObj = (Object[]) Array.newInstance(arrayType, 1);
+
+ Array.set(arrayObj, 0, buildObject(arrayType));
+
+ return arrayObj;
+ }
+
+ private Object buildCollection(Method method, Class<?> propertyType) throws IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException {
+ Type genericType = method.getGenericParameterTypes()[0];
+
+ if(genericType instanceof ParameterizedType) {
+ ParameterizedType genericTypeClass = (ParameterizedType) genericType;
+ Collection collection = null;
+
+ if(!propertyType.isInterface()) {
+ // It's a concrete Collection type... just create an instance...
+ collection = (Collection) propertyType.newInstance();
+ }else if(List.class.isAssignableFrom(propertyType)) {
+ collection = new ArrayList();
+ } else if(Set.class.isAssignableFrom(propertyType)) {
+ collection = new LinkedHashSet();
+ }
+
+ if(collection != null) {
+ collection.add(buildObject((Class<Object>) genericTypeClass.getActualTypeArguments()[0]));
+ return collection;
+ }
+ }
+
+ return null;
+ }
+
+ private static final Map<Class, Object> primitiveToObjectMap;
+
+ static {
+ primitiveToObjectMap = new HashMap<Class, Object>();
+ primitiveToObjectMap.put(int.class, 1);
+ primitiveToObjectMap.put(long.class, 1L);
+ primitiveToObjectMap.put(boolean.class, true);
+ primitiveToObjectMap.put(float.class, 1f);
+ primitiveToObjectMap.put(double.class, 1d);
+ primitiveToObjectMap.put(char.class, '1');
+ primitiveToObjectMap.put(byte.class, Byte.parseByte("1"));
+ primitiveToObjectMap.put(short.class, 1);
+ }
+
+}
+
Modified: branches/jbosstools-3.2.x/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/launch/SmooksLaunchConfigurationDelegate.java
===================================================================
--- branches/jbosstools-3.2.x/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/launch/SmooksLaunchConfigurationDelegate.java 2011-05-05 17:10:17 UTC (rev 31110)
+++ branches/jbosstools-3.2.x/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/launch/SmooksLaunchConfigurationDelegate.java 2011-05-05 18:56:04 UTC (rev 31111)
@@ -80,8 +80,8 @@
launchMetadata.setSmooksConfig(project.findMember(smooksConfigName));
if(SmooksInputType.INPUT_TYPE_JAVA.equals(launchMetadata.getInputType())) {
- displayError(smooksConfigName, Messages.SmooksLaunchConfigurationDelegate_Error_Java_Unsupported);
- return;
+// displayError(smooksConfigName, Messages.SmooksLaunchConfigurationDelegate_Error_Java_Unsupported);
+// return;
} else if(!launchMetadata.isValidSmooksConfig()) {
displayError(smooksConfigName, launchMetadata.getErrorMessage());
return;
@@ -107,6 +107,9 @@
String inputType = launchMetadata.getInputType();
String inputPath = launchMetadata.getInputFile().getAbsolutePath();
+ if(SmooksInputType.INPUT_TYPE_JAVA.equals(launchMetadata.getInputType())) {
+ inputPath = launchMetadata.getInputClassName();
+ }
String nodeTypes = launchMetadata.getNodeTypesString();
runConfig.setProgramArguments(new String[] {launchMetadata.getConfigFile().getAbsolutePath(), inputType, inputPath, nodeTypes});
@@ -155,6 +158,7 @@
File wsRootDir = ResourcesPlugin.getWorkspace().getRoot().getRawLocation().toFile();
File wsTempClasses = new File(wsRootDir, "temp/launcher/classes"); //$NON-NLS-1$
+ writeClassToFilesys(JavaGraphBuilder.class, wsTempClasses);
writeClassToFilesys(SmooksLauncher.class, wsTempClasses);
writeClassToFilesys(SmooksInputType.class, wsTempClasses);
writeClassToFilesys(ProcessNodeType.class, wsTempClasses);
Modified: branches/jbosstools-3.2.x/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/launch/SmooksLaunchShortcut.java
===================================================================
--- branches/jbosstools-3.2.x/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/launch/SmooksLaunchShortcut.java 2011-05-05 17:10:17 UTC (rev 31110)
+++ branches/jbosstools-3.2.x/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/launch/SmooksLaunchShortcut.java 2011-05-05 18:56:04 UTC (rev 31111)
@@ -106,8 +106,8 @@
RuntimeMetadata metadata = new RuntimeMetadata();
metadata.setSmooksConfig(elementToLaunch);
if(SmooksInputType.INPUT_TYPE_JAVA.equals(metadata.getInputType())) {
- MessageDialog.openError(getShell(), Messages.SmooksLaunchShortcut_Title_Launch_Failed, Messages.SmooksLaunchConfigurationDelegate_Error_Java_Unsupported);
- return;
+// MessageDialog.openError(getShell(), Messages.SmooksLaunchShortcut_Title_Launch_Failed, Messages.SmooksLaunchConfigurationDelegate_Error_Java_Unsupported);
+// return;
} else if (!metadata.isValidSmooksConfig()) {
MessageDialog.openError(getShell(), Messages.SmooksLaunchShortcut_Title_Launch_Failed, metadata.getErrorMessage());
return;
Modified: branches/jbosstools-3.2.x/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/launch/SmooksLauncher.java
===================================================================
--- branches/jbosstools-3.2.x/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/launch/SmooksLauncher.java 2011-05-05 17:10:17 UTC (rev 31110)
+++ branches/jbosstools-3.2.x/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/launch/SmooksLauncher.java 2011-05-05 18:56:04 UTC (rev 31111)
@@ -30,6 +30,7 @@
import java.util.Properties;
import java.util.Set;
+import javax.xml.transform.Source;
import javax.xml.transform.stream.StreamSource;
import org.jboss.tools.smooks.configuration.ProcessNodeType;
@@ -37,6 +38,7 @@
import org.jboss.tools.smooks.launch.serialize.ObjectSerializer;
import org.milyn.Smooks;
import org.milyn.payload.JavaResult;
+import org.milyn.payload.JavaSource;
import org.milyn.payload.StringResult;
import org.xml.sax.SAXException;
@@ -59,54 +61,64 @@
if(args.length != 4) {
throw new RuntimeException(localizedMessages.getProperty("SmooksLauncher_Error_Expected_Four_Args")); //$NON-NLS-1$
}
-
+ Source inputSource = null;
if(args[1].equals(SmooksInputType.INPUT_TYPE_JAVA)) {
- System.out.println(localizedMessages.getProperty("SmooksLauncher_Error_Do_Not_Support_Java_Inputs")); //$NON-NLS-1$
+ Class<?> clazz;
+ try {
+ clazz = Class.forName(args[2]);
+ System.out.println(clazz);
+ JavaGraphBuilder graphBuilder = new JavaGraphBuilder();
+
+ Object objectGraph = graphBuilder.buildGraph(clazz);
+ inputSource = new JavaSource(objectGraph);
+ } catch (ClassNotFoundException e) {
+ System.out.println("Class not found \n" + e.getLocalizedMessage());
+ }
} else {
- File smooksConfig = new File(args[0]);
File input = new File(args[2]);
-
- assertFile(smooksConfig, "Smooks"); //$NON-NLS-1$
assertFile(input, "Input"); //$NON-NLS-1$
+ inputSource = new StreamSource(new FileInputStream(input));
+ }
+
+ File smooksConfig = new File(args[0]);
+ assertFile(smooksConfig, "Smooks"); //$NON-NLS-1$
+ Smooks smooks = new Smooks(smooksConfig.toURI().getPath());
+ try {
+ Set<ProcessNodeType> processNodeTypes = SmooksLauncher.fromNodeTypeString(args[3]);
+ JavaResult javaResult = new JavaResult();
+ boolean nothingDisplayed = true;
- Smooks smooks = new Smooks(smooksConfig.toURI().getPath());
- try {
- Set<ProcessNodeType> processNodeTypes = SmooksLauncher.fromNodeTypeString(args[3]);
- JavaResult javaResult = new JavaResult();
- boolean nothingDisplayed = true;
+ if(processNodeTypes.contains(ProcessNodeType.TEMPLATING)) {
+ StringResult stringResult = new StringResult();
- if(processNodeTypes.contains(ProcessNodeType.TEMPLATING)) {
- StringResult stringResult = new StringResult();
-
- smooks.filterSource(new StreamSource(new FileInputStream(input)), stringResult, javaResult);
- System.out.println("[" + localizedMessages.getProperty("SmooksLauncher_Templating_To_StreamResult") + " ...]"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ smooks.filterSource(inputSource, stringResult, javaResult);
+ System.out.println("[" + localizedMessages.getProperty("SmooksLauncher_Templating_To_StreamResult") + " ...]"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ System.out.println(" |--"); //$NON-NLS-1$
+ System.out.println(indent(stringResult.toString()));
+ System.out.println(" |--\n"); //$NON-NLS-1$
+ nothingDisplayed = false;
+ } else {
+ smooks.filterSource(inputSource, javaResult);
+ }
+ System.out.println("successfully");
+ Collection<ObjectSerializer> serializedJavaResults = ObjectSerializer.serialize(javaResult);
+ if(!serializedJavaResults.isEmpty()) {
+ System.out.println("[" + localizedMessages.getProperty("SmooksLauncher_Java_Mapping_Results") + "...]"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+
+ for(ObjectSerializer serializedJavaResult : serializedJavaResults) {
System.out.println(" |--"); //$NON-NLS-1$
- System.out.println(indent(stringResult.toString()));
- System.out.println(" |--\n"); //$NON-NLS-1$
- nothingDisplayed = false;
- } else {
- smooks.filterSource(new StreamSource(new FileInputStream(input)), javaResult);
+ System.out.println(indent(serializedJavaResult.getSerializedForm()));
+ System.out.println(" |--"); //$NON-NLS-1$
}
-
- Collection<ObjectSerializer> serializedJavaResults = ObjectSerializer.serialize(javaResult);
- if(!serializedJavaResults.isEmpty()) {
- System.out.println("[" + localizedMessages.getProperty("SmooksLauncher_Java_Mapping_Results") + "...]"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
- for(ObjectSerializer serializedJavaResult : serializedJavaResults) {
- System.out.println(" |--"); //$NON-NLS-1$
- System.out.println(indent(serializedJavaResult.getSerializedForm()));
- System.out.println(" |--"); //$NON-NLS-1$
- }
- nothingDisplayed = false;
- }
-
- if(nothingDisplayed) {
- System.out.println(localizedMessages.getProperty("SmooksLauncher_Nothing_To_Display")); //$NON-NLS-1$
- }
- } finally {
- smooks.close();
+ nothingDisplayed = false;
}
- }
+
+ if(nothingDisplayed) {
+ System.out.println(localizedMessages.getProperty("SmooksLauncher_Nothing_To_Display")); //$NON-NLS-1$
+ }
+ } finally {
+ smooks.close();
+ }
}
private static Properties loadLocalizedMessages() {
13 years, 2 months
JBoss Tools SVN: r31110 - trunk/jsf/plugins/org.jboss.tools.jsf.
by jbosstools-commits@lists.jboss.org
Author: vrubezhny
Date: 2011-05-05 13:10:17 -0400 (Thu, 05 May 2011)
New Revision: 31110
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf/plugin.xml
Log:
JBIDE-5436
Code assist for JSF functions in EL.
The nature required to JSP EL Functions Completion Engine is changed to be org.jboss.tools.jst.web.kb.kbnature
Modified: trunk/jsf/plugins/org.jboss.tools.jsf/plugin.xml
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf/plugin.xml 2011-05-05 16:50:13 UTC (rev 31109)
+++ trunk/jsf/plugins/org.jboss.tools.jsf/plugin.xml 2011-05-05 17:10:17 UTC (rev 31110)
@@ -476,7 +476,7 @@
<extension
point="org.jboss.tools.common.el.core.elResolver">
<el-resolver id="jsfFuncsELResolver">
- <project-nature id="org.jboss.tools.jsf.jsfnature"
+ <project-nature id="org.jboss.tools.jst.web.kb.kbnature"
resolver-class="org.jboss.tools.jsf.model.JSFFuncsELCompletionEngine"/>
</el-resolver>
</extension>
13 years, 2 months
JBoss Tools SVN: r31109 - in trunk: jsf/plugins/org.jboss.tools.jsf.vpe.jsf/META-INF and 16 other directories.
by jbosstools-commits@lists.jboss.org
Author: yradtsevich
Date: 2011-05-05 12:50:13 -0400 (Thu, 05 May 2011)
New Revision: 31109
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.jsf/META-INF/MANIFEST.MF
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.jsf/pom.xml
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/META-INF/MANIFEST.MF
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/pom.xml
trunk/vpe/features/org.jboss.tools.vpe.feature/feature.xml
trunk/vpe/features/org.jboss.tools.vpe.feature/pom.xml
trunk/vpe/features/org.jboss.tools.xulrunner.feature/feature.xml
trunk/vpe/features/org.jboss.tools.xulrunner.feature/pom.xml
trunk/vpe/plugins/org.jboss.tools.vpe.docbook/META-INF/MANIFEST.MF
trunk/vpe/plugins/org.jboss.tools.vpe.docbook/pom.xml
trunk/vpe/plugins/org.jboss.tools.vpe.html/META-INF/MANIFEST.MF
trunk/vpe/plugins/org.jboss.tools.vpe.html/pom.xml
trunk/vpe/plugins/org.jboss.tools.vpe.spring/META-INF/MANIFEST.MF
trunk/vpe/plugins/org.jboss.tools.vpe.spring/pom.xml
trunk/vpe/plugins/org.jboss.tools.vpe.ui.palette/META-INF/MANIFEST.MF
trunk/vpe/plugins/org.jboss.tools.vpe.ui.palette/pom.xml
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/META-INF/MANIFEST.MF
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/pom.xml
trunk/vpe/plugins/org.jboss.tools.vpe/META-INF/MANIFEST.MF
trunk/vpe/plugins/org.jboss.tools.vpe/pom.xml
Log:
https://issues.jboss.org/browse/JBIDE-8605 : Update versions of VPE plugins
- updated MANIFEST.MF, pom.xml and feature.xml files to 3.3.0 version for changed VPE plugins
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.vpe.jsf/META-INF/MANIFEST.MF
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf.vpe.jsf/META-INF/MANIFEST.MF 2011-05-05 16:40:28 UTC (rev 31108)
+++ trunk/jsf/plugins/org.jboss.tools.jsf.vpe.jsf/META-INF/MANIFEST.MF 2011-05-05 16:50:13 UTC (rev 31109)
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.jboss.tools.jsf.vpe.jsf;singleton:=true
-Bundle-Version: 3.2.0.qualifier
+Bundle-Version: 3.3.0.qualifier
Bundle-Activator: org.jboss.tools.jsf.vpe.jsf.JsfTemplatePlugin
Bundle-Vendor: %providerName
Require-Bundle: org.eclipse.ui,
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.vpe.jsf/pom.xml
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf.vpe.jsf/pom.xml 2011-05-05 16:40:28 UTC (rev 31108)
+++ trunk/jsf/plugins/org.jboss.tools.jsf.vpe.jsf/pom.xml 2011-05-05 16:50:13 UTC (rev 31109)
@@ -8,6 +8,6 @@
</parent>
<groupId>org.jboss.tools.jsf.plugins</groupId>
<artifactId>org.jboss.tools.jsf.vpe.jsf</artifactId>
- <version>3.2.0-SNAPSHOT</version>
+ <version>3.3.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
\ No newline at end of file
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/META-INF/MANIFEST.MF
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/META-INF/MANIFEST.MF 2011-05-05 16:40:28 UTC (rev 31108)
+++ trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/META-INF/MANIFEST.MF 2011-05-05 16:50:13 UTC (rev 31109)
@@ -3,7 +3,7 @@
Bundle-Name: %Bundle-Name.0
Bundle-SymbolicName: org.jboss.tools.jsf.vpe.richfaces;singleton:=true
Bundle-Activator: org.jboss.tools.jsf.vpe.richfaces.RichFacesTemplatesActivator
-Bundle-Version: 3.2.0.qualifier
+Bundle-Version: 3.3.0.qualifier
Bundle-Localization: plugin
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/pom.xml
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/pom.xml 2011-05-05 16:40:28 UTC (rev 31108)
+++ trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/pom.xml 2011-05-05 16:50:13 UTC (rev 31109)
@@ -8,6 +8,6 @@
</parent>
<groupId>org.jboss.tools.jsf.plugins</groupId>
<artifactId>org.jboss.tools.jsf.vpe.richfaces</artifactId>
- <version>3.2.0-SNAPSHOT</version>
+ <version>3.3.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
\ No newline at end of file
Modified: trunk/vpe/features/org.jboss.tools.vpe.feature/feature.xml
===================================================================
--- trunk/vpe/features/org.jboss.tools.vpe.feature/feature.xml 2011-05-05 16:40:28 UTC (rev 31108)
+++ trunk/vpe/features/org.jboss.tools.vpe.feature/feature.xml 2011-05-05 16:50:13 UTC (rev 31109)
@@ -2,7 +2,7 @@
<feature
id="org.jboss.tools.vpe.feature"
label="%featureName"
- version="3.1.0.qualifier">
+ version="3.3.0.qualifier">
<description url="http://www.jboss.org/tools">
%description
Modified: trunk/vpe/features/org.jboss.tools.vpe.feature/pom.xml
===================================================================
--- trunk/vpe/features/org.jboss.tools.vpe.feature/pom.xml 2011-05-05 16:40:28 UTC (rev 31108)
+++ trunk/vpe/features/org.jboss.tools.vpe.feature/pom.xml 2011-05-05 16:50:13 UTC (rev 31109)
@@ -8,6 +8,6 @@
</parent>
<groupId>org.jboss.tools.vpe.features</groupId>
<artifactId>org.jboss.tools.vpe.feature</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.3.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
\ No newline at end of file
Modified: trunk/vpe/features/org.jboss.tools.xulrunner.feature/feature.xml
===================================================================
--- trunk/vpe/features/org.jboss.tools.xulrunner.feature/feature.xml 2011-05-05 16:40:28 UTC (rev 31108)
+++ trunk/vpe/features/org.jboss.tools.xulrunner.feature/feature.xml 2011-05-05 16:50:13 UTC (rev 31109)
@@ -2,7 +2,7 @@
<feature
id="org.jboss.tools.xulrunner.feature"
label="%featureName"
- version="1.9.12.qualifier"
+ version="1.9.216.qualifier"
provider-name="%providerName"
plugin="org.jboss.tools.xulrunner">
Modified: trunk/vpe/features/org.jboss.tools.xulrunner.feature/pom.xml
===================================================================
--- trunk/vpe/features/org.jboss.tools.xulrunner.feature/pom.xml 2011-05-05 16:40:28 UTC (rev 31108)
+++ trunk/vpe/features/org.jboss.tools.xulrunner.feature/pom.xml 2011-05-05 16:50:13 UTC (rev 31109)
@@ -8,6 +8,6 @@
</parent>
<groupId>org.jboss.tools.vpe.features</groupId>
<artifactId>org.jboss.tools.xulrunner.feature</artifactId>
- <version>1.9.12-SNAPSHOT</version>
+ <version>1.9.216-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
Modified: trunk/vpe/plugins/org.jboss.tools.vpe/META-INF/MANIFEST.MF
===================================================================
--- trunk/vpe/plugins/org.jboss.tools.vpe/META-INF/MANIFEST.MF 2011-05-05 16:40:28 UTC (rev 31108)
+++ trunk/vpe/plugins/org.jboss.tools.vpe/META-INF/MANIFEST.MF 2011-05-05 16:50:13 UTC (rev 31109)
@@ -61,5 +61,5 @@
org.jboss.tools.common.model.ui,
org.eclipse.wst.xml.xpath.core,
org.jboss.tools.jst.css;bundle-version="3.2.0"
-Bundle-Version: 3.2.0.qualifier
+Bundle-Version: 3.3.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Modified: trunk/vpe/plugins/org.jboss.tools.vpe/pom.xml
===================================================================
--- trunk/vpe/plugins/org.jboss.tools.vpe/pom.xml 2011-05-05 16:40:28 UTC (rev 31108)
+++ trunk/vpe/plugins/org.jboss.tools.vpe/pom.xml 2011-05-05 16:50:13 UTC (rev 31109)
@@ -8,6 +8,6 @@
</parent>
<groupId>org.jboss.tools.vpe.plugins</groupId>
<artifactId>org.jboss.tools.vpe</artifactId>
- <version>3.2.0-SNAPSHOT</version>
+ <version>3.3.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
\ No newline at end of file
Modified: trunk/vpe/plugins/org.jboss.tools.vpe.docbook/META-INF/MANIFEST.MF
===================================================================
--- trunk/vpe/plugins/org.jboss.tools.vpe.docbook/META-INF/MANIFEST.MF 2011-05-05 16:40:28 UTC (rev 31108)
+++ trunk/vpe/plugins/org.jboss.tools.vpe.docbook/META-INF/MANIFEST.MF 2011-05-05 16:50:13 UTC (rev 31109)
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name.0
Bundle-SymbolicName: org.jboss.tools.vpe.docbook;singleton:=true
-Bundle-Version: 3.1.0.qualifier
+Bundle-Version: 3.3.0.qualifier
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
org.jboss.tools.jst.jsp,
Modified: trunk/vpe/plugins/org.jboss.tools.vpe.docbook/pom.xml
===================================================================
--- trunk/vpe/plugins/org.jboss.tools.vpe.docbook/pom.xml 2011-05-05 16:40:28 UTC (rev 31108)
+++ trunk/vpe/plugins/org.jboss.tools.vpe.docbook/pom.xml 2011-05-05 16:50:13 UTC (rev 31109)
@@ -8,6 +8,6 @@
</parent>
<groupId>org.jboss.tools.vpe.plugins</groupId>
<artifactId>org.jboss.tools.vpe.docbook</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.3.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
\ No newline at end of file
Modified: trunk/vpe/plugins/org.jboss.tools.vpe.html/META-INF/MANIFEST.MF
===================================================================
--- trunk/vpe/plugins/org.jboss.tools.vpe.html/META-INF/MANIFEST.MF 2011-05-05 16:40:28 UTC (rev 31108)
+++ trunk/vpe/plugins/org.jboss.tools.vpe.html/META-INF/MANIFEST.MF 2011-05-05 16:50:13 UTC (rev 31109)
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.jboss.tools.vpe.html;singleton:=true
-Bundle-Version: 3.2.0.qualifier
+Bundle-Version: 3.3.0.qualifier
Bundle-Activator: org.jboss.tools.vpe.html.HtmlTemplatePlugin
Bundle-Vendor: %providerName
Require-Bundle: org.eclipse.ui,
Modified: trunk/vpe/plugins/org.jboss.tools.vpe.html/pom.xml
===================================================================
--- trunk/vpe/plugins/org.jboss.tools.vpe.html/pom.xml 2011-05-05 16:40:28 UTC (rev 31108)
+++ trunk/vpe/plugins/org.jboss.tools.vpe.html/pom.xml 2011-05-05 16:50:13 UTC (rev 31109)
@@ -8,6 +8,6 @@
</parent>
<groupId>org.jboss.tools.vpe.plugins</groupId>
<artifactId>org.jboss.tools.vpe.html</artifactId>
- <version>3.2.0-SNAPSHOT</version>
+ <version>3.3.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
\ No newline at end of file
Modified: trunk/vpe/plugins/org.jboss.tools.vpe.spring/META-INF/MANIFEST.MF
===================================================================
--- trunk/vpe/plugins/org.jboss.tools.vpe.spring/META-INF/MANIFEST.MF 2011-05-05 16:40:28 UTC (rev 31108)
+++ trunk/vpe/plugins/org.jboss.tools.vpe.spring/META-INF/MANIFEST.MF 2011-05-05 16:50:13 UTC (rev 31109)
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %bundleName
Bundle-SymbolicName: org.jboss.tools.vpe.spring;singleton:=true
-Bundle-Version: 3.1.0.qualifier
+Bundle-Version: 3.3.0.qualifier
Bundle-Activator: org.jboss.tools.vpe.spring.SpringTemplatePlugin
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
Modified: trunk/vpe/plugins/org.jboss.tools.vpe.spring/pom.xml
===================================================================
--- trunk/vpe/plugins/org.jboss.tools.vpe.spring/pom.xml 2011-05-05 16:40:28 UTC (rev 31108)
+++ trunk/vpe/plugins/org.jboss.tools.vpe.spring/pom.xml 2011-05-05 16:50:13 UTC (rev 31109)
@@ -8,6 +8,6 @@
</parent>
<groupId>org.jboss.tools.vpe.plugins</groupId>
<artifactId>org.jboss.tools.vpe.spring</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.3.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
\ No newline at end of file
Modified: trunk/vpe/plugins/org.jboss.tools.vpe.ui.palette/META-INF/MANIFEST.MF
===================================================================
--- trunk/vpe/plugins/org.jboss.tools.vpe.ui.palette/META-INF/MANIFEST.MF 2011-05-05 16:40:28 UTC (rev 31108)
+++ trunk/vpe/plugins/org.jboss.tools.vpe.ui.palette/META-INF/MANIFEST.MF 2011-05-05 16:50:13 UTC (rev 31109)
@@ -16,5 +16,5 @@
org.jboss.tools.common.model.ui,
org.jboss.tools.jst.web,
org.jboss.tools.jst.jsp
-Bundle-Version: 3.2.0.qualifier
+Bundle-Version: 3.3.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Modified: trunk/vpe/plugins/org.jboss.tools.vpe.ui.palette/pom.xml
===================================================================
--- trunk/vpe/plugins/org.jboss.tools.vpe.ui.palette/pom.xml 2011-05-05 16:40:28 UTC (rev 31108)
+++ trunk/vpe/plugins/org.jboss.tools.vpe.ui.palette/pom.xml 2011-05-05 16:50:13 UTC (rev 31109)
@@ -8,6 +8,6 @@
</parent>
<groupId>org.jboss.tools.vpe.plugins</groupId>
<artifactId>org.jboss.tools.vpe.ui.palette</artifactId>
- <version>3.2.0-SNAPSHOT</version>
+ <version>3.3.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
\ No newline at end of file
Modified: trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/META-INF/MANIFEST.MF
===================================================================
--- trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/META-INF/MANIFEST.MF 2011-05-05 16:40:28 UTC (rev 31108)
+++ trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/META-INF/MANIFEST.MF 2011-05-05 16:50:13 UTC (rev 31109)
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name.0
Bundle-SymbolicName: org.jboss.tools.vpe.xulrunner;singleton:=true
-Bundle-Version: 3.2.0.qualifier
+Bundle-Version: 3.3.0.qualifier
Bundle-Activator: org.jboss.tools.vpe.xulrunner.BrowserPlugin
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
Modified: trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/pom.xml
===================================================================
--- trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/pom.xml 2011-05-05 16:40:28 UTC (rev 31108)
+++ trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/pom.xml 2011-05-05 16:50:13 UTC (rev 31109)
@@ -8,6 +8,6 @@
</parent>
<groupId>org.jboss.tools.vpe.plugins</groupId>
<artifactId>org.jboss.tools.vpe.xulrunner</artifactId>
- <version>3.2.0-SNAPSHOT</version>
+ <version>3.3.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
\ No newline at end of file
13 years, 2 months
JBoss Tools SVN: r31108 - in trunk/jsf/tests/org.jboss.tools.jsf.ui.test: META-INF and 7 other directories.
by jbosstools-commits@lists.jboss.org
Author: vrubezhny
Date: 2011-05-05 12:40:28 -0400 (Thu, 05 May 2011)
New Revision: 31108
Added:
trunk/jsf/tests/org.jboss.tools.jsf.ui.test/projects/testJSFProject/JavaSource/demo/utils/
trunk/jsf/tests/org.jboss.tools.jsf.ui.test/projects/testJSFProject/JavaSource/demo/utils/ELFunctions.java
trunk/jsf/tests/org.jboss.tools.jsf.ui.test/projects/testJSFProject/WebContent/WEB-INF/target.taglib.xml
trunk/jsf/tests/org.jboss.tools.jsf.ui.test/projects/testJSFProject/WebContent/templates/
trunk/jsf/tests/org.jboss.tools.jsf.ui.test/projects/testJSFProject/WebContent/templates/outputWeekDays.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.ui.test/src/org/jboss/tools/jsf/jsp/ca/test/JspElFunctionsTest.java
Modified:
trunk/jsf/tests/org.jboss.tools.jsf.ui.test/META-INF/MANIFEST.MF
trunk/jsf/tests/org.jboss.tools.jsf.ui.test/pom.xml
trunk/jsf/tests/org.jboss.tools.jsf.ui.test/src/org/jboss/tools/jsf/ui/test/JsfUiAllTests.java
Log:
JBIDE-5436
Code assist for JSF functions in EL.
Issue is fixed. JUnit Tets is added for the issue
Modified: trunk/jsf/tests/org.jboss.tools.jsf.ui.test/META-INF/MANIFEST.MF
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.ui.test/META-INF/MANIFEST.MF 2011-05-05 16:39:12 UTC (rev 31107)
+++ trunk/jsf/tests/org.jboss.tools.jsf.ui.test/META-INF/MANIFEST.MF 2011-05-05 16:40:28 UTC (rev 31108)
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name.0
Bundle-SymbolicName: org.jboss.tools.jsf.ui.test
-Bundle-Version: 3.2.0.qualifier
+Bundle-Version: 3.3.0.qualifier
Bundle-Vendor: %Bundle-Vendor.0
Require-Bundle: org.junit,
org.jboss.tools.tests,
Modified: trunk/jsf/tests/org.jboss.tools.jsf.ui.test/pom.xml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.ui.test/pom.xml 2011-05-05 16:39:12 UTC (rev 31107)
+++ trunk/jsf/tests/org.jboss.tools.jsf.ui.test/pom.xml 2011-05-05 16:40:28 UTC (rev 31108)
@@ -8,7 +8,7 @@
</parent>
<groupId>org.jboss.tools.jsf.tests</groupId>
<artifactId>org.jboss.tools.jsf.ui.test</artifactId>
- <version>3.2.0-SNAPSHOT</version>
+ <version>3.3.0-SNAPSHOT</version>
<packaging>eclipse-test-plugin</packaging>
<properties>
Added: trunk/jsf/tests/org.jboss.tools.jsf.ui.test/projects/testJSFProject/JavaSource/demo/utils/ELFunctions.java
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.ui.test/projects/testJSFProject/JavaSource/demo/utils/ELFunctions.java (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.ui.test/projects/testJSFProject/JavaSource/demo/utils/ELFunctions.java 2011-05-05 16:40:28 UTC (rev 31108)
@@ -0,0 +1,34 @@
+package demo.utils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public final class ELFunctions {
+
+ private ELFunctions() {
+
+ }
+
+ /**
+ * returns the model for lopping
+ *
+ * @param size
+ * @return
+ */
+ public static List getLoopModel(Integer size) {
+ List list = new ArrayList();
+ for(int i = 0; i <= size; i++)
+ list.add(i);
+ return list;
+ }
+
+ /**
+ * converts string objects into an int value
+ *
+ * @param size
+ * @return
+ */
+ public static int doConvertToInteger(Object value) {
+ return Integer.valueOf(value.toString());
+ }
+}
Property changes on: trunk/jsf/tests/org.jboss.tools.jsf.ui.test/projects/testJSFProject/JavaSource/demo/utils/ELFunctions.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/jsf/tests/org.jboss.tools.jsf.ui.test/projects/testJSFProject/WebContent/WEB-INF/target.taglib.xml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.ui.test/projects/testJSFProject/WebContent/WEB-INF/target.taglib.xml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.ui.test/projects/testJSFProject/WebContent/WEB-INF/target.taglib.xml 2011-05-05 16:40:28 UTC (rev 31108)
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<!DOCTYPE facelet-taglib PUBLIC "-//Sun Microsystems, Inc.//DTD Facelet Taglib 1.0//EN"
+ "http://java.sun.com/dtd/facelet-taglib_1_0.dtd">
+<facelet-taglib>
+ <namespace>http://www.jboss.org/target</namespace>
+ <function>
+ <function-name>loopModel</function-name>
+ <function-class>demo.utils.ELFunctions</function-class>
+ <function-signature>List getLoopModel(java.lang.Integer)</function-signature>
+ </function>
+ <function>
+ <function-name>convertToInteger</function-name>
+ <function-class>demo.utils.ELFunctions</function-class>
+ <function-signature>int doConvertToInteger(java.lang.Object)</function-signature>
+ </function>
+</facelet-taglib>
Property changes on: trunk/jsf/tests/org.jboss.tools.jsf.ui.test/projects/testJSFProject/WebContent/WEB-INF/target.taglib.xml
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/jsf/tests/org.jboss.tools.jsf.ui.test/projects/testJSFProject/WebContent/templates/outputWeekDays.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.ui.test/projects/testJSFProject/WebContent/templates/outputWeekDays.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.ui.test/projects/testJSFProject/WebContent/templates/outputWeekDays.xhtml 2011-05-05 16:40:28 UTC (rev 31108)
@@ -0,0 +1,18 @@
+<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:t="http://myfaces.apache.org/tomahawk"
+ xmlns:target="http://www.jboss.org/target"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html" >
+ <t:dataList value="#{someBean.weekDaysAsArrayOfString}"
+ var="weekDay" rowIndexVar="index">
+ #{index eq 0 ? '' : ', '}
+ <h:outputFormat value="#{appLabel['week_days']}">
+ <f:param
+ value="#{target:convertToInteger(weekDay)}"/>
+ <f:param
+ value="#{target:loopModel()}"/>
+ </h:outputFormat>
+ </t:dataList>
+</html>
\ No newline at end of file
Property changes on: trunk/jsf/tests/org.jboss.tools.jsf.ui.test/projects/testJSFProject/WebContent/templates/outputWeekDays.xhtml
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/jsf/tests/org.jboss.tools.jsf.ui.test/src/org/jboss/tools/jsf/jsp/ca/test/JspElFunctionsTest.java
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.ui.test/src/org/jboss/tools/jsf/jsp/ca/test/JspElFunctionsTest.java (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.ui.test/src/org/jboss/tools/jsf/jsp/ca/test/JspElFunctionsTest.java 2011-05-05 16:40:28 UTC (rev 31108)
@@ -0,0 +1,171 @@
+/*******************************************************************************
+ * Copyright (c) 2011 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.jsp.ca.test;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.jface.text.FindReplaceDocumentAdapter;
+import org.eclipse.jface.text.IRegion;
+import org.eclipse.jface.text.contentassist.ICompletionProposal;
+import org.jboss.tools.jst.jsp.test.ca.ContentAssistantTestCase;
+import org.jboss.tools.test.util.TestProjectProvider;
+
+/**
+ * Test for CA on JSP EL Functions
+ *
+ * @author Victor V. Rubezhny
+ */
+public class JspElFunctionsTest extends ContentAssistantTestCase {
+ private static final String PROJECT_NAME = "testJSFProject"; //$NON-NLS-1$
+ private static final String PAGE_NAME = "/WebContent/templates/outputWeekDays.xhtml"; //$NON-NLS-1$
+ private TestProjectProvider provider = null;
+ private static String STRING_TO_FIND_TARGET = "target:";
+ private static String STRING_TO_FIND_CONVERT = "target:co";
+ private static String STRING_TO_FIND_LOOP = "target:lo";
+ private static String PREFIX_TO_CHECK = "#{";
+
+ public static Test suite() {
+ return new TestSuite(JspElFunctionsTest.class);
+ }
+
+ public void setUp() throws Exception {
+ provider = new TestProjectProvider("org.jboss.tools.jsf.ui.test", null, PROJECT_NAME,false); //$NON-NLS-1$
+ project = provider.getProject();
+ }
+
+ protected void tearDown() throws Exception {
+ if(provider != null) {
+ provider.dispose();
+ }
+ }
+
+
+ public void testJspElFunctionsCATestFuncNamespace(){
+ final String[] proposals = new String[]{
+ "target" //$NON-NLS-1$
+ };
+
+ openEditor(PAGE_NAME);
+ IRegion reg = null;
+ try {
+ reg = new FindReplaceDocumentAdapter(this.document).find(0, STRING_TO_FIND_TARGET, true, false, false, false); //$NON-NLS-1$
+ } catch (BadLocationException e) {
+ fail(e.getMessage());
+ }
+ assertNotNull("Cannot find text region to test: \'" + STRING_TO_FIND_TARGET + "\'", reg);
+
+ IRegion testReg = null;
+ try {
+ testReg = new FindReplaceDocumentAdapter(this.document).find(reg.getOffset() - PREFIX_TO_CHECK.length(), PREFIX_TO_CHECK, true, false, false, false); //$NON-NLS-1$
+ } catch (BadLocationException e) {
+ fail(e.getMessage());
+ }
+ assertNotNull("Text region to test doesn\'t start with prefix: \'" + PREFIX_TO_CHECK + "\'", testReg);
+ assertTrue("Text region to test doesn\'t start with prefix: \'" + PREFIX_TO_CHECK + "\'", (reg.getOffset() - testReg.getOffset() == PREFIX_TO_CHECK.length()));
+
+
+ final ICompletionProposal[] rst = checkProposals(PAGE_NAME,reg.getOffset(), proposals, false);
+
+ closeEditor();
+ }
+
+ public void testJspElFunctionsCATestFuncs(){
+ final String[] proposals = new String[]{
+ "target:convertToInteger()", //$NON-NLS-1$
+ "target:loopModel()" //$NON-NLS-1$
+ };
+
+ openEditor(PAGE_NAME);
+ IRegion reg = null;
+ try {
+ reg = new FindReplaceDocumentAdapter(this.document).find(0, STRING_TO_FIND_TARGET, true, false, false, false); //$NON-NLS-1$
+ } catch (BadLocationException e) {
+ fail(e.getMessage());
+ }
+ assertNotNull("Cannot find text region to test: \'" + STRING_TO_FIND_TARGET + "\'", reg);
+
+ IRegion testReg = null;
+ try {
+ testReg = new FindReplaceDocumentAdapter(this.document).find(reg.getOffset() - PREFIX_TO_CHECK.length(), PREFIX_TO_CHECK, true, false, false, false); //$NON-NLS-1$
+ } catch (BadLocationException e) {
+ fail(e.getMessage());
+ }
+ assertNotNull("Text region to test doesn\'t start with prefix: \'" + PREFIX_TO_CHECK + "\'", testReg);
+ assertTrue("Text region to test doesn\'t start with prefix: \'" + PREFIX_TO_CHECK + "\'", (reg.getOffset() - testReg.getOffset() == PREFIX_TO_CHECK.length()));
+
+
+ final ICompletionProposal[] rst = checkProposals(PAGE_NAME,reg.getOffset() + STRING_TO_FIND_TARGET.length(), proposals, false);
+
+ closeEditor();
+ }
+
+ public void testJspElFunctionsCATestFuncsConvertFunc(){
+ final String[] proposals = new String[]{
+ "target:convertToInteger()" //$NON-NLS-1$
+ };
+
+ openEditor(PAGE_NAME);
+ IRegion reg = null;
+ try {
+ reg = new FindReplaceDocumentAdapter(this.document).find(0, STRING_TO_FIND_CONVERT, true, false, false, false); //$NON-NLS-1$
+ } catch (BadLocationException e) {
+ fail(e.getMessage());
+ }
+ assertNotNull("Cannot find text region to test: \'" + STRING_TO_FIND_CONVERT + "\'", reg);
+
+ IRegion testReg = null;
+ try {
+ testReg = new FindReplaceDocumentAdapter(this.document).find(reg.getOffset() - PREFIX_TO_CHECK.length(), PREFIX_TO_CHECK, true, false, false, false); //$NON-NLS-1$
+ } catch (BadLocationException e) {
+ fail(e.getMessage());
+ }
+ assertNotNull("Text region to test doesn\'t start with prefix: \'" + PREFIX_TO_CHECK + "\'", testReg);
+ assertTrue("Text region to test doesn\'t start with prefix: \'" + PREFIX_TO_CHECK + "\'", (reg.getOffset() - testReg.getOffset() == PREFIX_TO_CHECK.length()));
+
+
+ final ICompletionProposal[] rst = checkProposals(PAGE_NAME,reg.getOffset() + STRING_TO_FIND_CONVERT.length(), proposals, false);
+
+ closeEditor();
+ }
+
+ public void testJspElFunctionsCATestFuncsLoopFunc(){
+ final String[] proposals = new String[]{
+ "target:loopModel()" //$NON-NLS-1$
+ };
+
+ openEditor(PAGE_NAME);
+ IRegion reg = null;
+ try {
+ reg = new FindReplaceDocumentAdapter(this.document).find(0, STRING_TO_FIND_LOOP, true, false, false, false); //$NON-NLS-1$
+ } catch (BadLocationException e) {
+ fail(e.getMessage());
+ }
+ assertNotNull("Cannot find text region to test: \'" + STRING_TO_FIND_LOOP + "\'", reg);
+
+ IRegion testReg = null;
+ try {
+ testReg = new FindReplaceDocumentAdapter(this.document).find(reg.getOffset() - PREFIX_TO_CHECK.length(), PREFIX_TO_CHECK, true, false, false, false); //$NON-NLS-1$
+ } catch (BadLocationException e) {
+ fail(e.getMessage());
+ }
+ assertNotNull("Text region to test doesn\'t start with prefix: \'" + PREFIX_TO_CHECK + "\'", testReg);
+ assertTrue("Text region to test doesn\'t start with prefix: \'" + PREFIX_TO_CHECK + "\'", (reg.getOffset() - testReg.getOffset() == PREFIX_TO_CHECK.length()));
+
+
+ final ICompletionProposal[] rst = checkProposals(PAGE_NAME,reg.getOffset() + STRING_TO_FIND_LOOP.length(), proposals, false);
+
+ closeEditor();
+ }
+
+}
Property changes on: trunk/jsf/tests/org.jboss.tools.jsf.ui.test/src/org/jboss/tools/jsf/jsp/ca/test/JspElFunctionsTest.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/jsf/tests/org.jboss.tools.jsf.ui.test/src/org/jboss/tools/jsf/ui/test/JsfUiAllTests.java
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.ui.test/src/org/jboss/tools/jsf/ui/test/JsfUiAllTests.java 2011-05-05 16:39:12 UTC (rev 31107)
+++ trunk/jsf/tests/org.jboss.tools.jsf.ui.test/src/org/jboss/tools/jsf/ui/test/JsfUiAllTests.java 2011-05-05 16:40:28 UTC (rev 31108)
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007 Red Hat, Inc.
+ * Copyright (c) 2007-2011 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,
@@ -27,6 +27,7 @@
import org.jboss.tools.jsf.jsp.ca.test.JsfJspJbide1704Test;
import org.jboss.tools.jsf.jsp.ca.test.JsfJspJbide1717Test;
import org.jboss.tools.jsf.jsp.ca.test.JsfJspJbide6259Test;
+import org.jboss.tools.jsf.jsp.ca.test.JspElFunctionsTest;
import org.jboss.tools.jsf.jsp.ca.test.WebContentAssistProviderTest;
import org.jboss.tools.jsf.ui.test.refactoring.ELReferencesRenameTest;
import org.jboss.tools.test.util.ProjectImportTestSetup;
@@ -35,6 +36,7 @@
public static Test suite() {
TestSuite suite = new TestSuite("JSF UI tests"); //$NON-NLS-1$
+
suite.addTestSuite(NewJSFProjectTest.class);
suite.addTestSuite(CAForUnclosedELTest.class);
suite.addTestSuite(CAForCompositeComponentTest.class);
@@ -90,6 +92,11 @@
suite.addTestSuite(JsfUiPreferencesPagesTest.class);
suite.addTestSuite(TaglibXMLUnformatedDTD_JBIDE5642.class);
+ suite.addTest(new ProjectImportTestSetup(new TestSuite(
+ JspElFunctionsTest.class), "org.jboss.tools.jsf.ui.test", //$NON-NLS-1$
+ new String[] { "projects/testJSFProject", }, //$NON-NLS-1$
+ new String[] { "testJSFProject" })); //$NON-NLS-1$
+
return new TestWizardsProject(suite);
}
}
\ No newline at end of file
13 years, 2 months
JBoss Tools SVN: r31107 - trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/el.
by jbosstools-commits@lists.jboss.org
Author: vrubezhny
Date: 2011-05-05 12:39:12 -0400 (Thu, 05 May 2011)
New Revision: 31107
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/el/CdiElResolver.java
Log:
JBIDE-5436
Code assist for JSF functions in EL.
Issue is fixed
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/el/CdiElResolver.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/el/CdiElResolver.java 2011-05-05 16:30:01 UTC (rev 31106)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/el/CdiElResolver.java 2011-05-05 16:39:12 UTC (rev 31107)
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009 Red Hat, Inc.
+ * Copyright (c) 2009-2011 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,
@@ -64,7 +64,7 @@
* @see org.jboss.tools.jst.web.kb.el.AbstractELCompletionEngine#getMemberInfoByVariable(org.jboss.tools.common.el.core.resolver.IVariable, boolean)
*/
@Override
- protected MemberInfo getMemberInfoByVariable(IBean bean, boolean onlyEqualNames) {
+ protected MemberInfo getMemberInfoByVariable(IBean bean, boolean onlyEqualNames, int offset) {
IMember member = null;
if(bean instanceof IClassBean) {
member = bean.getBeanClass();
@@ -80,7 +80,7 @@
* @see org.jboss.tools.jst.web.kb.el.AbstractELCompletionEngine#resolveVariables(org.eclipse.core.resources.IFile, org.jboss.tools.common.el.core.model.ELInvocationExpression, boolean, boolean)
*/
@Override
- public List<IBean> resolveVariables(IFile file, ELInvocationExpression expr, boolean isFinal, boolean onlyEqualNames) {
+ public List<IBean> resolveVariables(IFile file, ELInvocationExpression expr, boolean isFinal, boolean onlyEqualNames, int offset) {
ArrayList<IBean> beans = new ArrayList<IBean>();
IProject project = file.getProject();
13 years, 2 months
JBoss Tools SVN: r31106 - in trunk: common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver and 7 other directories.
by jbosstools-commits@lists.jboss.org
Author: vrubezhny
Date: 2011-05-05 12:30:01 -0400 (Thu, 05 May 2011)
New Revision: 31106
Added:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/JSFFuncsELCompletionEngine.java
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/resolver/ELCompletionEngine.java
trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ElVarSearcher.java
trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/TypeInfoCollector.java
trunk/common/tests/org.jboss.tools.common.el.core.test/src/org/jboss/tools/common/el/core/test/resolver/ElVarSearcherTest.java
trunk/jsf/plugins/org.jboss.tools.jsf/plugin.xml
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/JSFELCompletionEngine.java
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/JSFImplicitObjectELResolver.java
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/JSFMessageELCompletionEngine.java
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/JspContentAssistProcessor.java
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/computers/JspELCompletionProposalComputer.java
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/computers/JspTagCompletionProposalComputer.java
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/el/SeamELCompletionEngine.java
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/el/SeamExpressionResolver.java
trunk/seam/plugins/org.jboss.tools.seam.text.ext/src/org/jboss/tools/seam/text/ext/hyperlink/SeamBeanHyperlinkPartitioner.java
trunk/seam/plugins/org.jboss.tools.seam.text.ext/src/org/jboss/tools/seam/text/ext/hyperlink/SeamComponentHyperlinkDetector.java
trunk/seam/plugins/org.jboss.tools.seam.text.ext/src/org/jboss/tools/seam/text/ext/hyperlink/SeamELInJavaStringHyperlinkDetector.java
Log:
JBIDE-5436
Code assist for JSF functions in EL.
Issue is fixed
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 2011-05-05 15:56:12 UTC (rev 31105)
+++ trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/ca/AbstractELCompletionEngine.java 2011-05-05 16:30:01 UTC (rev 31106)
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007-2010 Red Hat, Inc.
+ * Copyright (c) 2007-2011 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,
@@ -103,7 +103,7 @@
ELResolutionImpl resolution;
try {
- resolution = resolveELOperand(context.getResource(), parseOperand(el), false, vars, new ElVarSearcher(context.getResource(), this));
+ resolution = resolveELOperand(context.getResource(), parseOperand(el), false, vars, new ElVarSearcher(context.getResource(), this), offset);
if(resolution!=null) {
completions.addAll(resolution.getProposals());
}
@@ -132,7 +132,7 @@
}
ELResolutionImpl resolution = null;
try {
- resolution = resolveELOperand(context.getResource(), operand, true, vars, new ElVarSearcher(context.getResource(), this));
+ resolution = resolveELOperand(context.getResource(), operand, true, vars, new ElVarSearcher(context.getResource(), this), offset);
if(resolution != null)
resolution.setContext(context);
} catch (StringIndexOutOfBoundsException e) {
@@ -158,7 +158,7 @@
vars.add(array[i]);
}
try {
- return resolveELOperand(context.getResource(), operand, returnEqualedVariablesOnly, vars, new ElVarSearcher(context.getResource(), this));
+ return resolveELOperand(context.getResource(), operand, returnEqualedVariablesOnly, vars, new ElVarSearcher(context.getResource(), this), offset);
} catch (StringIndexOutOfBoundsException e) {
log(e);
} catch (BadLocationException e) {
@@ -201,7 +201,7 @@
*/
public ELResolutionImpl resolveELOperand(IFile file,
ELExpression operand, boolean returnEqualedVariablesOnly,
- List<Var> vars, ElVarSearcher varSearcher)
+ List<Var> vars, ElVarSearcher varSearcher, int offset)
throws BadLocationException, StringIndexOutOfBoundsException {
if(operand == null) {
//TODO
@@ -215,7 +215,7 @@
boolean isArray = false;
ELResolution varELResolution = null;
if(var!=null) {
- varELResolution = resolveEL(file, var.getElToken(), true);
+ varELResolution = resolveEL(file, var.getElToken(), true, offset);
if(varELResolution!=null && varELResolution.isResolved()) {
ELSegment segment = varELResolution.getLastSegment();
if(segment instanceof JavaMemberELSegment) {
@@ -254,7 +254,7 @@
: parseOperand(newEl))
: operand;
- ELResolutionImpl resolution = resolveELOperand(file, newOperand, returnEqualedVariablesOnly, prefixWasChanged);
+ ELResolutionImpl resolution = resolveELOperand(file, newOperand, returnEqualedVariablesOnly, prefixWasChanged, offset);
if(resolution==null) {
return null;
}
@@ -302,12 +302,12 @@
resolution.setSegments(resultSegments);
var.resolveValue("#{" + var.getElToken().getText() + suffix + "}"); //$NON-NLS-1$ //$NON-NLS-2$
- ELResolutionImpl oldElResolution = resolveELOperand(file, operand, returnEqualedVariablesOnly, false);
+ ELResolutionImpl oldElResolution = resolveELOperand(file, operand, returnEqualedVariablesOnly, false, offset);
if(oldElResolution!=null) {
resolution.getProposals().addAll(oldElResolution.getProposals());
}
} else {
- resolution = resolveELOperand(file, operand, returnEqualedVariablesOnly, false);
+ resolution = resolveELOperand(file, operand, returnEqualedVariablesOnly, false, offset);
}
}
@@ -321,7 +321,7 @@
for (Var v : vars) {
String prefix = operand.toString();
if(v.getName().startsWith(prefix)) {
- ELResolution r = resolveEL(file, v.getElToken(), true, vars, varSearcher);
+ ELResolution r = resolveEL(file, v.getElToken(), true, vars, varSearcher, offset);
if(r==null) {
continue;
}
@@ -375,27 +375,28 @@
* @throws BadLocationException
* @throws StringIndexOutOfBoundsException
*/
- public ELResolution resolveEL(IFile file, ELExpression operand, boolean varIsUsed) throws BadLocationException, StringIndexOutOfBoundsException {
+ public ELResolution resolveEL(IFile file, ELExpression operand, boolean varIsUsed, int offset) throws BadLocationException, StringIndexOutOfBoundsException {
if(!(operand instanceof ELInvocationExpression)) return null;
- return resolveELOperand(file, operand, true, varIsUsed);
+ return resolveELOperand(file, operand, true, varIsUsed, offset);
}
/**
* Returns ELResolution for EL.
- * @param seamProject
* @param file
* @param operand EL without #{}
+ * @param offset TODO
+ * @param seamProject
* @return ELResolution for EL.
* @throws BadLocationException
* @throws StringIndexOutOfBoundsException
*/
- public ELResolution resolveEL(IFile file, ELExpression operand, boolean returnEqualedVariablesOnly, List<Var> vars, ElVarSearcher varSearcher) throws BadLocationException, StringIndexOutOfBoundsException {
+ public ELResolution resolveEL(IFile file, ELExpression operand, boolean returnEqualedVariablesOnly, List<Var> vars, ElVarSearcher varSearcher, int offset) throws BadLocationException, StringIndexOutOfBoundsException {
if(!(operand instanceof ELInvocationExpression)) return null;
- return resolveELOperand(file, operand, returnEqualedVariablesOnly, vars, varSearcher);
+ return resolveELOperand(file, operand, returnEqualedVariablesOnly, vars, varSearcher, offset);
}
public ELResolutionImpl resolveELOperand(IFile file, ELExpression operand,
- boolean returnEqualedVariablesOnly, boolean varIsUsed) throws BadLocationException, StringIndexOutOfBoundsException {
+ boolean returnEqualedVariablesOnly, boolean varIsUsed, int offset) throws BadLocationException, StringIndexOutOfBoundsException {
if(!(operand instanceof ELInvocationExpression) || file == null) {
return null;
}
@@ -414,18 +415,18 @@
if (expr.getLeft() != null && isArgument) {
left = expr.getLeft();
resolvedVariables = resolveVariables(file, left, false,
- true); // is Final and equal names are because of
+ true, offset); // 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 = resolveVariables(file, expr, true,
- returnEqualedVariablesOnly);
+ returnEqualedVariablesOnly, offset);
} else {
while(left != null) {
List<V>resolvedVars = new ArrayList<V>();
resolvedVars = resolveVariables(file,
left, left == expr,
- returnEqualedVariablesOnly);
+ returnEqualedVariablesOnly, offset);
if (resolvedVars != null && !resolvedVars.isEmpty()) {
resolvedVariables = resolvedVars;
resolution.setLastResolvedToken(left);
@@ -441,7 +442,7 @@
isIncomplete) {
// no vars are resolved
// the tokens are the part of var name ended with a separator (.)
- resolvedVariables = resolveVariables(file, expr, true, returnEqualedVariablesOnly);
+ resolvedVariables = resolveVariables(file, expr, true, returnEqualedVariablesOnly, offset);
Set<TextProposal> proposals = new TreeSet<TextProposal>(TextProposal.KB_PROPOSAL_ORDER);
JavaMemberELSegmentImpl segment = new JavaMemberELSegmentImpl();
@@ -453,7 +454,7 @@
if(varName.startsWith(operand.getText())) {
// JBIDE-512, JBIDE-2541 related changes ===>>>
- MemberInfo member = getMemberInfoByVariable(var, true);
+ MemberInfo member = getMemberInfoByVariable(var, true, offset);
String sourceTypeName = member == null ? null : member.getDeclaringTypeQualifiedName();
if (sourceTypeName != null && sourceTypeName.indexOf('.') != -1)
@@ -502,10 +503,10 @@
for (V var : resolvedVariables) {
if(isSingularAttribute(var)) {
- bijectedAttribute = getMemberInfoByVariable(var, true);
+ bijectedAttribute = getMemberInfoByVariable(var, true, offset);
}
- MemberInfo member = getMemberInfoByVariable(var, true);
+ MemberInfo member = getMemberInfoByVariable(var, true, offset);
String sourceTypeName = member == null ? null : member.getDeclaringTypeQualifiedName();
if (sourceTypeName != null && sourceTypeName.indexOf('.') != -1)
sourceTypeName = Signature.getSimpleName(sourceTypeName);
@@ -556,7 +557,7 @@
JavaMemberELSegmentImpl segment = new JavaMemberELSegmentImpl();
segment.setToken(expr.getFirstToken());
for (V var : resolvedVariables) {
- TypeInfoCollector.MemberInfo member = getMemberInfoByVariable(var, returnEqualedVariablesOnly);
+ TypeInfoCollector.MemberInfo member = getMemberInfoByVariable(var, returnEqualedVariablesOnly, offset);
if (member != null && !members.contains(member)) {
members.add(member);
segment.setMemberInfo(member);
@@ -607,9 +608,9 @@
return resolution;
}
- abstract public List<V> resolveVariables(IFile file, ELInvocationExpression expr, boolean isFinal, boolean onlyEqualNames);
+ abstract public List<V> resolveVariables(IFile file, ELInvocationExpression expr, boolean isFinal, boolean onlyEqualNames, int offset);
- abstract protected TypeInfoCollector.MemberInfo getMemberInfoByVariable(V var, boolean onlyEqualNames);
+ abstract protected TypeInfoCollector.MemberInfo getMemberInfoByVariable(V var, boolean onlyEqualNames, int offset);
abstract protected boolean isStaticMethodsCollectingEnabled();
Modified: trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELCompletionEngine.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELCompletionEngine.java 2011-05-05 15:56:12 UTC (rev 31105)
+++ trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELCompletionEngine.java 2011-05-05 16:30:01 UTC (rev 31106)
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007 Red Hat, Inc.
+ * Copyright (c) 2007-2011 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,
@@ -19,5 +19,5 @@
public interface ELCompletionEngine extends ELResolver {
public ELResolution resolveELOperand(IFile file, ELExpression operand,
- boolean returnEqualedVariablesOnly, List<Var> vars, ElVarSearcher varSearcher) throws BadLocationException, StringIndexOutOfBoundsException;
+ boolean returnEqualedVariablesOnly, List<Var> vars, ElVarSearcher varSearcher, int offset) throws BadLocationException, StringIndexOutOfBoundsException;
}
\ No newline at end of file
Modified: trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ElVarSearcher.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ElVarSearcher.java 2011-05-05 15:56:12 UTC (rev 31105)
+++ trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ElVarSearcher.java 2011-05-05 16:30:01 UTC (rev 31106)
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007 Red Hat, Inc.
+ * Copyright (c) 2007-2011 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,
@@ -308,7 +308,7 @@
if(resolvedToken==null && parentVar.getElToken()!=null) {
try {
// Initialize parent vars.
- engine.resolveELOperand(file, var.getElToken(), true, parentVars, this);
+ engine.resolveELOperand(file, var.getElToken(), true, parentVars, this, (var.getRegion() == null ? 0 : var.getRegion().getOffset()));
resolvedToken = parentVar.getResolvedElToken();
} catch (StringIndexOutOfBoundsException e) {
ELCorePlugin.getPluginLog().logError(e);
Modified: trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/TypeInfoCollector.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/TypeInfoCollector.java 2011-05-05 15:56:12 UTC (rev 31105)
+++ trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/TypeInfoCollector.java 2011-05-05 16:30:01 UTC (rev 31106)
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007-2010 Red Hat, Inc.
+ * Copyright (c) 2007-2011 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,
@@ -35,6 +35,7 @@
import org.eclipse.jdt.core.Signature;
import org.jboss.tools.common.el.core.ELCorePlugin;
import org.jboss.tools.common.el.core.ca.preferences.ELContentAssistPreferences;
+import org.jboss.tools.common.el.core.resolver.TypeInfoCollector.MemberInfo;
import org.jboss.tools.common.model.util.EclipseJavaUtil;
import org.jboss.tools.common.util.BeanUtil;
@@ -341,6 +342,77 @@
abstract public IJavaElement getJavaElement();
}
+ public static class ArtificialTypeInfo extends TypeInfo {
+ private IType fType;
+ private IMethod fMethod;
+ private String fMethodName;
+
+ public ArtificialTypeInfo (IType type, IMethod method, String methodName) throws JavaModelException {
+ super(type, null, false);
+ this.fType = type;
+ this.fMethod = method;
+ this.fMethodName = methodName;
+ }
+
+ @Override
+ public IJavaElement getJavaElement() {
+ return fType;
+ }
+
+ @Override
+ public TypeInfoCollector getTypeCollector(boolean varIsUsed,
+ boolean includeStaticMethods) {
+ return new TypeInfoCollector(this, varIsUsed, true) {
+
+ @Override
+ public List<MemberInfo> getMethods() {
+ // Do not filter the static methods here, just return all the artificial methods
+ List<MemberInfo> methods = new ArrayList<MemberInfo>();
+ methods.addAll(fMethods);
+ return methods;
+ }
+
+ @Override
+ public List<MemberInfo> getProperties() {
+ // No properties are allowed here, just return an empty list here
+ return new ArrayList<MemberInfo>();
+ }
+
+ @Override
+ public void collectInfo(boolean var) {
+ if (fMethods == null) {
+ fMethods = new ArrayList<MethodInfo>();
+ } else {
+ fMethods.clear();
+ }
+
+ if (fFields == null) {
+ fFields = new ArrayList<FieldInfo>();
+ } else {
+ fFields.clear();
+ }
+
+ if (fType == null) {
+ return;
+ }
+ try {
+ IType binType = fType;
+ if(fMember instanceof TypeInfo) {
+ fTypeInfo = (TypeInfo)fMember;
+ } else {
+ fTypeInfo = new TypeInfo(binType, fMember, fMember.isDataModel());
+ }
+ TypeInfo parent = fTypeInfo;
+ MethodInfo info = new MethodInfo(fMethod, fMethodName, fTypeInfo, parent, false);
+ fMethods.add(info);
+ } catch (JavaModelException e) {
+ ELCorePlugin.getPluginLog().logError(e);
+ }
+ }
+ };
+ }
+ }
+
public static class TypeInfo extends MemberInfo {
private IType fType;
private TypeInfo superType;
@@ -529,6 +601,23 @@
setParameterNames(parameterNames);
}
+ public MethodInfo(IMethod method, String name, TypeInfo parentMember, TypeInfo declaratedType, boolean dataModel) throws JavaModelException {
+ super(method.getDeclaringType(),
+ (method.getDeclaringType() == null ? null : method.getDeclaringType().getFullyQualifiedName()),
+ name,
+ method.getFlags(),
+ parentMember,
+ declaratedType,
+ dataModel,
+ new Type(method.getReturnType(),
+ method.getDeclaringType()));
+ fJavaElement = method;
+ setParameterNames(method.getParameterNames());
+ setParameterTypeNames(resolveSignatures(method.getDeclaringType(), method.getParameterTypes()));
+ setParametersNamesOfDeclaringType(getTypeErasureFromSignatureArray(method.getDeclaringType().getTypeParameterSignatures()));
+ }
+
+
public MethodInfo(IMethod method, TypeInfo parentMember, TypeInfo declaratedType, boolean dataModel) throws JavaModelException {
super(method.getDeclaringType(),
(method.getDeclaringType() == null ? null : method.getDeclaringType().getFullyQualifiedName()),
@@ -867,7 +956,7 @@
false));
}
- private static IType getSuperclass(IType type) throws JavaModelException {
+ public static IType getSuperclass(IType type) throws JavaModelException {
String superclassName = type.getSuperclassName();
if(superclassName!=null) {
String fullySuperclassName = EclipseJavaUtil.resolveType(type, superclassName);
Modified: trunk/common/tests/org.jboss.tools.common.el.core.test/src/org/jboss/tools/common/el/core/test/resolver/ElVarSearcherTest.java
===================================================================
--- trunk/common/tests/org.jboss.tools.common.el.core.test/src/org/jboss/tools/common/el/core/test/resolver/ElVarSearcherTest.java 2011-05-05 15:56:12 UTC (rev 31105)
+++ trunk/common/tests/org.jboss.tools.common.el.core.test/src/org/jboss/tools/common/el/core/test/resolver/ElVarSearcherTest.java 2011-05-05 16:30:01 UTC (rev 31106)
@@ -44,7 +44,7 @@
private static class FakeELCompletionEngine implements ELCompletionEngine {
public ELResolution resolveELOperand(IFile file,
ELExpression operand, boolean returnEqualedVariablesOnly,
- List<Var> vars, ElVarSearcher varSearcher)
+ List<Var> vars, ElVarSearcher varSearcher, int offset)
throws BadLocationException, StringIndexOutOfBoundsException {
return new ELResolutionImpl(operand);
}
Modified: trunk/jsf/plugins/org.jboss.tools.jsf/plugin.xml
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf/plugin.xml 2011-05-05 15:56:12 UTC (rev 31105)
+++ trunk/jsf/plugins/org.jboss.tools.jsf/plugin.xml 2011-05-05 16:30:01 UTC (rev 31106)
@@ -473,6 +473,13 @@
resolver-class="org.jboss.tools.jsf.model.JSF2CCAttrsELCompletionEngine"/>
</el-resolver>
</extension>
+ <extension
+ point="org.jboss.tools.common.el.core.elResolver">
+ <el-resolver id="jsfFuncsELResolver">
+ <project-nature id="org.jboss.tools.jsf.jsfnature"
+ resolver-class="org.jboss.tools.jsf.model.JSFFuncsELCompletionEngine"/>
+ </el-resolver>
+ </extension>
<extension
point="org.jboss.tools.jst.web.kb.elValidationDelegate">
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 2011-05-05 15:56:12 UTC (rev 31105)
+++ trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/JSF2CCAttrsELCompletionEngine.java 2011-05-05 16:30:01 UTC (rev 31106)
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007 Red Hat, Inc.
+ * Copyright (c) 2007-2011 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,
@@ -123,7 +123,7 @@
public ELResolution resolve(ELContext context, ELExpression operand, int offset) {
if(context instanceof IXmlContext) {
if(((IXmlContext)context).getURIs().contains(COMPOSITE_URI)) {
- ELResolutionImpl resolution = resolveELOperand(operand, context, true);
+ ELResolutionImpl resolution = resolveELOperand(operand, context, true, offset);
if(resolution != null)
resolution.setContext(context);
return resolution;
@@ -133,9 +133,9 @@
}
public ELResolutionImpl resolveELOperand(ELExpression operand,
- ELContext context, boolean returnEqualedVariablesOnly) {
+ ELContext context, boolean returnEqualedVariablesOnly, int offset) {
try {
- return resolveELOperand(context.getResource(), operand, returnEqualedVariablesOnly);
+ return resolveELOperand(context.getResource(), operand, returnEqualedVariablesOnly, offset);
} catch (StringIndexOutOfBoundsException e) {
log(e);
} catch (BadLocationException e) {
@@ -148,7 +148,7 @@
int position, boolean returnEqualedVariablesOnly) throws BadLocationException, StringIndexOutOfBoundsException {
List<TextProposal> completions = new ArrayList<TextProposal>();
- ELResolutionImpl status = resolveELOperand(file, parseOperand("" + prefix), returnEqualedVariablesOnly); //$NON-NLS-1$
+ ELResolutionImpl status = resolveELOperand(file, parseOperand("" + prefix), returnEqualedVariablesOnly, position); //$NON-NLS-1$
if(status!=null) {
completions.addAll(status.getProposals());
}
@@ -157,7 +157,7 @@
}
public ELResolutionImpl resolveELOperand(IFile file,
- ELExpression operand, boolean returnEqualedVariablesOnly)
+ ELExpression operand, boolean returnEqualedVariablesOnly, int offset)
throws BadLocationException, StringIndexOutOfBoundsException {
if(!(operand instanceof ELInvocationExpression) || file == null) {
return null;
@@ -273,7 +273,7 @@
}
if(!resolvedVariables.isEmpty() && resolvedVariables.iterator().next() instanceof IJSFVariable) {
- return buildJavaResolution(resolution, left, expr, operand, resolvedVariables, returnEqualedVariablesOnly);
+ return buildJavaResolution(resolution, left, expr, operand, resolvedVariables, returnEqualedVariablesOnly, offset);
}
//process segments one by one
@@ -303,14 +303,14 @@
//Method content copies code from the end AbstractELCompletionEngine.resolveELOperand
ELResolutionImpl buildJavaResolution(ELResolutionImpl resolution, ELInvocationExpression left, ELInvocationExpression expr,
- ELExpression operand, List<IVariable> resolvedVariables, boolean returnEqualedVariablesOnly) {
+ ELExpression operand, List<IVariable> resolvedVariables, boolean returnEqualedVariablesOnly, int offset) {
boolean varIsUsed = false;
// First segment is found - proceed with next tokens
List<TypeInfoCollector.MemberInfo> members = new ArrayList<TypeInfoCollector.MemberInfo>();
JavaMemberELSegmentImpl segment = new JavaMemberELSegmentImpl();
segment.setToken(expr.getFirstToken());
for (IVariable var : resolvedVariables) {
- TypeInfoCollector.MemberInfo member = getMemberInfoByVariable(var, returnEqualedVariablesOnly);
+ TypeInfoCollector.MemberInfo member = getMemberInfoByVariable(var, returnEqualedVariablesOnly, offset);
if (member != null && !members.contains(member)) {
members.add(member);
segment.setMemberInfo(member);
@@ -625,7 +625,7 @@
*/
@Override
protected MemberInfo getMemberInfoByVariable(IVariable var,
- boolean onlyEqualNames) {
+ boolean onlyEqualNames, int offset) {
if(var instanceof IJSFVariable) {
return TypeInfoCollector.createMemberInfo(((IJSFVariable)var).getSourceMember());
}
@@ -638,7 +638,7 @@
*/
@Override
public List<IVariable> resolveVariables(IFile file,
- ELInvocationExpression expr, boolean isFinal, boolean onlyEqualNames) {
+ ELInvocationExpression expr, boolean isFinal, boolean onlyEqualNames, int offset) {
return resolveVariablesInternal(file, expr, isFinal, onlyEqualNames);
}
Modified: trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/JSFELCompletionEngine.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/JSFELCompletionEngine.java 2011-05-05 15:56:12 UTC (rev 31105)
+++ trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/JSFELCompletionEngine.java 2011-05-05 16:30:01 UTC (rev 31106)
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007 Red Hat, Inc.
+ * Copyright (c) 2007-2011 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,
@@ -71,10 +71,10 @@
* (non-Javadoc)
* @see org.jboss.tools.jst.web.kb.el.AbstractELCompletionEngine#resolveVariables(org.eclipse.core.resources.IFile, org.jboss.tools.common.el.core.model.ELInvocationExpression, boolean, boolean)
*/
- public List<IJSFVariable> resolveVariables(IFile file, ELInvocationExpression expr, boolean isFinal, boolean onlyEqualNames) {
+ public List<IJSFVariable> resolveVariables(IFile file, ELInvocationExpression expr, boolean isFinal, boolean onlyEqualNames, int offset) {
IModelNature project = EclipseResourceUtil.getModelNature(file.getProject());
- return resolveVariables(file, project, expr, isFinal, onlyEqualNames);
+ return resolveVariables(file, project, expr, isFinal, onlyEqualNames, offset);
}
/**
@@ -85,7 +85,7 @@
* @param onlyEqualNames
* @return
*/
- public List<IJSFVariable> resolveVariables(IFile file, IModelNature project, ELInvocationExpression expr, boolean isFinal, boolean onlyEqualNames) {
+ public List<IJSFVariable> resolveVariables(IFile file, IModelNature project, ELInvocationExpression expr, boolean isFinal, boolean onlyEqualNames, int offset) {
List<IJSFVariable>resolvedVars = new ArrayList<IJSFVariable>();
if (project == null)
@@ -94,7 +94,7 @@
String varName = expr.toString();
if (varName != null) {
- resolvedVars = resolveVariables(project, varName, onlyEqualNames);
+ resolvedVars = resolveVariables(project, varName, onlyEqualNames, offset);
}
if (resolvedVars != null && !resolvedVars.isEmpty()) {
List<IJSFVariable> newResolvedVars = new ArrayList<IJSFVariable>();
@@ -132,7 +132,7 @@
return new ArrayList<IJSFVariable>();
}
- protected List<IJSFVariable> resolveVariables(IModelNature project, String varName, boolean onlyEqualNames) {
+ protected List<IJSFVariable> resolveVariables(IModelNature project, String varName, boolean onlyEqualNames, int offset) {
if(project == null) return null;
List<IJSFVariable> beans = new JSFPromptingProvider().getVariables(project.getModel());
List<IJSFVariable> resolvedVariables = new ArrayList<IJSFVariable>();
@@ -155,7 +155,7 @@
* (non-Javadoc)
* @see org.jboss.tools.jst.web.kb.el.AbstractELCompletionEngine#getMemberInfoByVariable(org.jboss.tools.jst.web.kb.el.AbstractELCompletionEngine.IVariable, boolean)
*/
- protected TypeInfoCollector.MemberInfo getMemberInfoByVariable(IJSFVariable var, boolean onlyEqualNames) {
+ protected TypeInfoCollector.MemberInfo getMemberInfoByVariable(IJSFVariable var, boolean onlyEqualNames, int offset) {
return TypeInfoCollector.createMemberInfo(((IJSFVariable)var).getSourceMember());
}
Added: trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/JSFFuncsELCompletionEngine.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/JSFFuncsELCompletionEngine.java (rev 0)
+++ trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/JSFFuncsELCompletionEngine.java 2011-05-05 16:30:01 UTC (rev 31106)
@@ -0,0 +1,259 @@
+/*******************************************************************************
+ * Copyright (c) 2011 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.List;
+import java.util.Map;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.jdt.core.Flags;
+import org.eclipse.jdt.core.IMember;
+import org.eclipse.jdt.core.IMethod;
+import org.eclipse.jdt.core.IType;
+import org.eclipse.jdt.core.JavaModelException;
+import org.eclipse.jdt.core.Signature;
+import org.eclipse.swt.graphics.Image;
+import org.jboss.tools.common.el.core.ELCorePlugin;
+import org.jboss.tools.common.el.core.model.ELInvocationExpression;
+import org.jboss.tools.common.el.core.resolver.ELContext;
+import org.jboss.tools.common.el.core.resolver.TypeInfoCollector;
+import org.jboss.tools.common.el.core.resolver.TypeInfoCollector.ArtificialTypeInfo;
+import org.jboss.tools.common.model.util.EclipseJavaUtil;
+import org.jboss.tools.common.model.util.EclipseResourceUtil;
+import org.jboss.tools.common.text.TextProposal;
+import org.jboss.tools.jsf.JSFModelPlugin;
+import org.jboss.tools.jst.web.kb.PageContextFactory;
+import org.jboss.tools.jst.web.kb.internal.XmlContextImpl;
+import org.jboss.tools.jst.web.kb.taglib.IELFunction;
+import org.jboss.tools.jst.web.kb.taglib.IFunctionLibrary;
+import org.jboss.tools.jst.web.kb.taglib.INameSpace;
+import org.jboss.tools.jst.web.kb.taglib.ITagLibrary;
+import org.jboss.tools.jst.web.kb.taglib.TagLibraryManager;
+
+public class JSFFuncsELCompletionEngine extends JSFELCompletionEngine {
+ private static final Image JSF_EL_PROPOSAL_IMAGE = JSFModelPlugin.getDefault().getImage(JSFModelPlugin.CA_JSF_EL_IMAGE_PATH);
+
+ /*
+ * (non-Javadoc)
+ * @see org.jboss.tools.common.el.core.ca.AbstractELCompletionEngine#getELProposalImage()
+ */
+ public Image getELProposalImage() {
+ return JSF_EL_PROPOSAL_IMAGE;
+ }
+
+ public JSFFuncsELCompletionEngine() {}
+
+ /*
+ * (non-Javadoc)
+ * @see org.jboss.tools.jst.web.kb.el.AbstractELCompletionEngine#getMemberInfoByVariable(org.jboss.tools.jst.web.kb.el.AbstractELCompletionEngine.IVariable, boolean)
+ */
+ protected TypeInfoCollector.MemberInfo getMemberInfoByVariable(IJSFVariable var, boolean onlyEqualNames, int offset) {
+ // Need to create artificial member info based on the Source Member type, but having only method named after the func's name
+ if (!(var instanceof Variable))
+ return null;
+
+ Variable variable = (Variable)var;
+ IType sourceMember = (IType)variable.getSourceMember();
+
+ if (variable.funcResolvedMethod == null)
+ return null;
+
+ TypeInfoCollector.MemberInfo result = null;
+
+ try {
+ result = new ArtificialTypeInfo(sourceMember,
+ variable.funcResolvedMethod,
+ variable.funcName);
+ } catch (JavaModelException e) {
+ ELCorePlugin.getPluginLog().logError(e);
+ }
+
+ return result;
+ }
+
+ /*
+ * (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<IJSFVariable> resolveVariables(IFile file,
+ ELInvocationExpression expr, boolean isFinal, boolean onlyEqualNames, int offset) {
+ return resolveVariablesInternal(file, expr, isFinal, onlyEqualNames, offset);
+ }
+
+ public List<IJSFVariable> resolveVariablesInternal(IFile file, ELInvocationExpression expr, boolean isFinal, boolean onlyEqualNames, int offset) {
+ ELContext context = PageContextFactory.createPageContext(file);
+
+ if (!(context instanceof XmlContextImpl)) {
+ return null;
+ }
+
+ ITagLibrary[] libraries = TagLibraryManager.getLibraries(file.getProject());
+ if (libraries == null)
+ return null;
+
+ List<IJSFVariable> result = new ArrayList<IJSFVariable>();
+
+
+ String varName = expr.toString();
+
+ // AbstractELCompletionEngine sets up a current offset in beginning of each ELResolver method (if it has appropriate parameter)
+ // but if resolve variables is called (because it is public) from somewhere outside, then we'll use all the namespaces we could find
+ Map<String, List<INameSpace>> namespacesByOffset = ((XmlContextImpl)context).getNameSpaces(offset);
+
+ for (ITagLibrary l : libraries) {
+ if (l instanceof IFunctionLibrary) {
+ String uri = l.getURI();
+ Collection<INameSpace> namespaces = namespacesByOffset.get(uri);
+ if (namespaces != null) {
+ for (INameSpace ns : namespaces) {
+ String name = ns.getPrefix();
+ if(!isFinal || onlyEqualNames) {
+ if(!name.equals(varName)) continue;
+ }
+ if(!name.startsWith(varName)) continue;
+ if(varName.lastIndexOf('.') > name.length()) continue; //It is the java variable case
+ IELFunction[] functions = ((IFunctionLibrary)l).getFunctions();
+ if (functions == null) continue;
+ for (IELFunction f : functions) {
+ String funcClass = f.getFunctionClass();
+ String funcSignature = f.getFunctionSignature();
+ String funcName = f.getName();
+ Variable v = new Variable(name, file,funcName, funcClass, funcSignature);
+ result.add(v);
+ }
+ }
+ }
+ }
+ }
+
+ return result;
+ }
+
+ protected void setImage(TextProposal kbProposal) {
+ kbProposal.setImage(getELProposalImage());
+ }
+
+ static class Variable implements IJSFVariable {
+ IFile f;
+ String name;
+ String funcName;
+ String funcClass;
+ String funcSignature;
+ IMethod funcResolvedMethod;
+ IType funcSourceMember;
+
+ public Variable(String name, IFile f, String funcName, String funcClass, String funcSignature) {
+ this.name = name;
+ this.f = f;
+ this.funcName = funcName;
+ this.funcClass = funcClass;
+ this.funcSignature = funcSignature;
+ this.funcResolvedMethod = null;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public Collection<String> getKeys() {
+ List<String> result = new ArrayList<String>();
+
+ if (funcResolvedMethod != null)
+ return result;
+
+ if (f == null || f.getProject() == null)
+ return result;
+
+ funcSourceMember = EclipseResourceUtil.getValidType(f.getProject(), funcClass);
+ if (funcSourceMember == null)
+ return result;
+
+
+ IType currentType = funcSourceMember;
+ try {
+ while (currentType != null) {
+ IMethod[] binMethods = currentType.getMethods();
+ if (binMethods != null) {
+ for (IMethod method : binMethods) {
+ if (method.isConstructor() || (method.getFlags() & Flags.AccStatic) == 0) {
+ continue;
+ }
+
+ String methodName = method.getElementName();
+ String methodReturnType = method.getReturnType();
+ String methodReturnTypeSimple = methodReturnType;
+ if (Signature.getTypeSignatureKind(methodReturnType) == Signature.BASE_TYPE_SIGNATURE) {
+ methodReturnType = Signature.toString(methodReturnType);
+ methodReturnTypeSimple = methodReturnType;
+ } else {
+ methodReturnType = EclipseJavaUtil.resolveTypeAsString(currentType, methodReturnType);
+ methodReturnTypeSimple = Signature.getSimpleName(methodReturnType);
+ }
+
+ String[] methodParamTypes = method.getParameterTypes();
+ int paramTypesCount = methodParamTypes == null ? 0 : methodParamTypes.length;
+ int startParamIndex = funcSignature.indexOf('(');
+ int endParamIndex = funcSignature.indexOf(')');
+ if (startParamIndex == -1 || endParamIndex == -1 || startParamIndex > endParamIndex)
+ continue;
+ String paramsString = funcSignature.substring(startParamIndex + 1, endParamIndex);
+ String[] params = paramsString.split(",");
+ if (!(funcSignature.substring(0, startParamIndex).contains(methodReturnType) || funcSignature.substring(0, startParamIndex).contains(methodReturnTypeSimple)))
+ continue;
+ if (!funcSignature.substring(0, startParamIndex).contains(methodName))
+ continue;
+ int paramsCount = params == null ? 0 : params.length;
+ if (paramTypesCount != paramsCount)
+ continue;
+ boolean paramsAreEqual = true;
+ for (int i = 0; methodParamTypes != null && i < methodParamTypes.length; i++) {
+ String methodParamType = methodParamTypes[i];
+ String methodParamTypeSimple = methodParamType;
+ if (Signature.getTypeSignatureKind(methodParamType) == Signature.BASE_TYPE_SIGNATURE) {
+ methodParamType = Signature.toString(methodParamType);
+ methodReturnTypeSimple = methodParamType;
+ } else {
+ methodParamType = EclipseJavaUtil.resolveTypeAsString(currentType, methodParamType);
+ methodParamTypeSimple = Signature.getSimpleName(methodParamType);
+ }
+
+ if (params[i] == null || (!params[i].trim().equals(methodParamType) && !params[i].trim().equals(methodParamTypeSimple))) {
+ paramsAreEqual = false;
+ break;
+ }
+ }
+
+ if (!paramsAreEqual)
+ continue;
+
+ funcResolvedMethod = method;
+ result.add(funcName);
+ break;
+ }
+ }
+ currentType = TypeInfoCollector.getSuperclass(currentType);
+ }
+ } catch (JavaModelException e) {
+ JSFModelPlugin.log("An error occurred while retrieving methods for type '" + funcClass + "'", e);
+ }
+
+ return result;
+ }
+
+ public IMember getSourceMember() {
+ getKeys(); // Initialize source member
+ return funcSourceMember;
+ }
+ }
+}
Property changes on: trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/JSFFuncsELCompletionEngine.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/JSFImplicitObjectELResolver.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/JSFImplicitObjectELResolver.java 2011-05-05 15:56:12 UTC (rev 31105)
+++ trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/JSFImplicitObjectELResolver.java 2011-05-05 16:30:01 UTC (rev 31106)
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009 Red Hat, Inc.
+ * Copyright (c) 2009-2011 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,
@@ -65,17 +65,17 @@
* (non-Javadoc)
* @see org.jboss.tools.jst.web.kb.el.AbstractELCompletionEngine#resolveVariables(org.eclipse.core.resources.IFile, org.jboss.tools.common.el.core.model.ELInvocationExpression, boolean, boolean)
*/
- public List<IJSFVariable> resolveVariables(IFile file, ELInvocationExpression expr, boolean isFinal, boolean onlyEqualNames) {
+ public List<IJSFVariable> resolveVariables(IFile file, ELInvocationExpression expr, boolean isFinal, boolean onlyEqualNames, int offset) {
this.file = file;
- return super.resolveVariables(file, expr, isFinal, onlyEqualNames);
+ return super.resolveVariables(file, expr, isFinal, onlyEqualNames, offset);
}
/*
* (non-Javadoc)
- * @see org.jboss.tools.jsf.model.JSFELCompletionEngine#resolveVariables(org.jboss.tools.common.model.project.IModelNature, java.lang.String, boolean)
+ * @see org.jboss.tools.jsf.model.JSFELCompletionEngine#resolveVariables(org.jboss.tools.common.model.project.IModelNature, java.lang.String, boolean, int)
*/
@Override
- protected List<IJSFVariable> resolveVariables(IModelNature project, String varName, boolean onlyEqualNames) {
+ protected List<IJSFVariable> resolveVariables(IModelNature project, String varName, boolean onlyEqualNames, int offset) {
if(file.getProject() == null) {
return null;
}
@@ -103,7 +103,7 @@
for (String var : elVars) {
try {
- ELResolution resolution = resolveEL(file, IMPLICT_OBJECTS_ELS.get(var), false);
+ ELResolution resolution = resolveEL(file, IMPLICT_OBJECTS_ELS.get(var), false, offset);
if(resolution!=null && resolution.isResolved()) {
ELSegment segment = resolution.getLastSegment();
if(segment instanceof JavaMemberELSegment) {
Modified: trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/JSFMessageELCompletionEngine.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/JSFMessageELCompletionEngine.java 2011-05-05 15:56:12 UTC (rev 31105)
+++ trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/model/JSFMessageELCompletionEngine.java 2011-05-05 16:30:01 UTC (rev 31106)
@@ -643,7 +643,7 @@
*/
@Override
protected MemberInfo getMemberInfoByVariable(IVariable var,
- boolean onlyEqualNames) {
+ boolean onlyEqualNames, int offset) {
return null;
}
@@ -653,7 +653,7 @@
*/
@Override
public List<IVariable> resolveVariables(IFile file,
- ELInvocationExpression expr, boolean isFinal, boolean onlyEqualNames) {
+ ELInvocationExpression expr, boolean isFinal, boolean onlyEqualNames, int offset) {
return null;
}
Modified: trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/JspContentAssistProcessor.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/JspContentAssistProcessor.java 2011-05-05 15:56:12 UTC (rev 31105)
+++ trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/JspContentAssistProcessor.java 2011-05-05 16:30:01 UTC (rev 31106)
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009 Red Hat, Inc.
+ * Copyright (c) 2009-2011 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,
@@ -232,7 +232,7 @@
public ELResolution resolveELOperand(IFile file,
ELExpression operand, boolean returnEqualedVariablesOnly,
- List<Var> vars, ElVarSearcher varSearcher)
+ List<Var> vars, ElVarSearcher varSearcher, int offset)
throws BadLocationException, StringIndexOutOfBoundsException {
return new ELResolutionImpl(operand);
}
Modified: trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/computers/JspELCompletionProposalComputer.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/computers/JspELCompletionProposalComputer.java 2011-05-05 15:56:12 UTC (rev 31105)
+++ trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/computers/JspELCompletionProposalComputer.java 2011-05-05 16:30:01 UTC (rev 31106)
@@ -1,12 +1,12 @@
/*******************************************************************************
- * Copyright (c) 2010 Exadel, Inc. and Red Hat, Inc.
+ * Copyright (c) 2010-2011 Red Hat, Inc.
* Distributed under license by Red Hat, Inc. All rights reserved.
* This program is made available under the terms of the
* Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
- * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ * Red Hat, Inc. - initial API and implementation
******************************************************************************/
package org.jboss.tools.jst.jsp.contentassist.computers;
@@ -102,7 +102,7 @@
public ELResolution resolveELOperand(IFile file,
ELExpression operand, boolean returnEqualedVariablesOnly,
- List<Var> vars, ElVarSearcher varSearcher)
+ List<Var> vars, ElVarSearcher varSearcher, int offset)
throws BadLocationException, StringIndexOutOfBoundsException {
return new ELResolutionImpl(operand);
}
Modified: trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/computers/JspTagCompletionProposalComputer.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/computers/JspTagCompletionProposalComputer.java 2011-05-05 15:56:12 UTC (rev 31105)
+++ trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/computers/JspTagCompletionProposalComputer.java 2011-05-05 16:30:01 UTC (rev 31106)
@@ -1,12 +1,12 @@
/*******************************************************************************
- * Copyright (c) 2010 Exadel, Inc. and Red Hat, Inc.
+ * Copyright (c) 2010-2011 Red Hat, Inc.
* Distributed under license by Red Hat, Inc. All rights reserved.
* This program is made available under the terms of the
* Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
- * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ * Red Hat, Inc. - initial API and implementation
******************************************************************************/
package org.jboss.tools.jst.jsp.contentassist.computers;
@@ -126,7 +126,7 @@
public ELResolution resolveELOperand(IFile file,
ELExpression operand, boolean returnEqualedVariablesOnly,
- List<Var> vars, ElVarSearcher varSearcher)
+ List<Var> vars, ElVarSearcher varSearcher, int offset)
throws BadLocationException, StringIndexOutOfBoundsException {
return new ELResolutionImpl(operand);
}
Modified: trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/el/SeamELCompletionEngine.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/el/SeamELCompletionEngine.java 2011-05-05 15:56:12 UTC (rev 31105)
+++ trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/el/SeamELCompletionEngine.java 2011-05-05 16:30:01 UTC (rev 31106)
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007 Red Hat, Inc.
+ * Copyright (c) 2007-2011 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,
@@ -148,14 +148,14 @@
}
@Override
- public List<ISeamContextVariable> resolveVariables(IFile file, ELInvocationExpression expr, boolean isFinal, boolean onlyEqualNames) {
+ public List<ISeamContextVariable> resolveVariables(IFile file, ELInvocationExpression expr, boolean isFinal, boolean onlyEqualNames, int offset) {
ISeamProject project = SeamCorePlugin.getSeamProject(file.getProject(), true);
// ScopeType scope = getScope(project, file);
return resolveVariables(project, file, expr, isFinal, onlyEqualNames);
}
- protected TypeInfoCollector.MemberInfo getMemberInfoByVariable(ISeamContextVariable var, boolean onlyEqualNames) {
- return SeamExpressionResolver.getMemberInfoByVariable(var, true, this);
+ protected TypeInfoCollector.MemberInfo getMemberInfoByVariable(ISeamContextVariable var, boolean onlyEqualNames, int offset) {
+ return SeamExpressionResolver.getMemberInfoByVariable(var, true, this, offset);
}
protected void setImage(TextProposal proposal, ISeamContextVariable var) {
@@ -305,11 +305,12 @@
* Create the array of suggestions from expression.
* @param project Seam project
* @param file File
+ * @param offset TODO
* @param document
* @param prefix the prefix to search for
* @param position Offset of the prefix
*/
- public List<IJavaElement> getJavaElementsForExpression(ISeamProject project, IFile file, String expression) throws BadLocationException, StringIndexOutOfBoundsException {
+ public List<IJavaElement> getJavaElementsForExpression(ISeamProject project, IFile file, String expression, int offset) throws BadLocationException, StringIndexOutOfBoundsException {
ELExpression expr = parseOperand(expression);
if(!(expr instanceof ELInvocationExpression)) {
return new ArrayList<IJavaElement>();
@@ -333,7 +334,7 @@
ElVarSearcher varSearcher = new ElVarSearcher(file, this);
List<Var> vars = varSearcher.findAllVars(file, expr.getStartPosition());
- ELResolution resolution = resolveELOperand(file, expr, true, vars, varSearcher);
+ ELResolution resolution = resolveELOperand(file, expr, true, vars, varSearcher, 0);
if (resolution!=null && resolution.isResolved()) {
ELSegment segment = resolution.getLastSegment();
if(segment instanceof JavaMemberELSegment) {
Modified: trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/el/SeamExpressionResolver.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/el/SeamExpressionResolver.java 2011-05-05 15:56:12 UTC (rev 31105)
+++ trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/el/SeamExpressionResolver.java 2011-05-05 16:30:01 UTC (rev 31106)
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007 Red Hat, Inc.
+ * Copyright (c) 2007-2011 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,
@@ -51,10 +51,8 @@
import org.jboss.tools.seam.core.ISeamMessages;
import org.jboss.tools.seam.core.ISeamProject;
import org.jboss.tools.seam.core.ISeamXmlFactory;
-import org.jboss.tools.seam.core.ScopeType;
import org.jboss.tools.seam.core.SeamComponentMethodType;
import org.jboss.tools.seam.core.SeamCorePlugin;
-import org.jboss.tools.seam.internal.core.SeamJavaComponentDeclaration;
/**
* Utility class used to resolve Seam project variables and to get the methods/properties and their presentation strings from type
@@ -263,10 +261,10 @@
* @param variable
* @return
*/
- public static TypeInfoCollector.MemberInfo getMemberInfoByVariable(ISeamContextVariable variable, boolean onlyEqualNames, SeamELCompletionEngine engine) {
+ public static TypeInfoCollector.MemberInfo getMemberInfoByVariable(ISeamContextVariable variable, boolean onlyEqualNames, SeamELCompletionEngine engine, int offset) {
TypeInfoCollector.MemberInfo member = null;
if(variable instanceof ISeamContextShortVariable) {
- return getMemberInfoByVariable(((ISeamContextShortVariable)variable).getOriginal(), onlyEqualNames, engine);
+ return getMemberInfoByVariable(((ISeamContextShortVariable)variable).getOriginal(), onlyEqualNames, engine, offset);
}
if(variable instanceof ISeamMessages) {
MemberInfo info = null;;
@@ -343,7 +341,7 @@
List<ISeamContextVariable> resolvedValues = resolveVariables(project, null /* factory.getScope()*/, value, onlyEqualNames);
for (ISeamContextVariable var : resolvedValues) {
if (var.getName().equals(value)) {
- member = getMemberInfoByVariable(var, onlyEqualNames, engine);
+ member = getMemberInfoByVariable(var, onlyEqualNames, engine, offset);
break;
}
}
@@ -357,7 +355,7 @@
if(ex instanceof ELInvocationExpression) {
ELInvocationExpression expr = (ELInvocationExpression)ex;
try {
- ELResolution resolution = engine.resolveEL(null, expr, false);
+ ELResolution resolution = engine.resolveEL(null, expr, false, offset);
if(resolution != null && resolution.isResolved()) {
ELSegment segment = resolution.getLastSegment();
if(segment instanceof JavaMemberELSegmentImpl) {
Modified: trunk/seam/plugins/org.jboss.tools.seam.text.ext/src/org/jboss/tools/seam/text/ext/hyperlink/SeamBeanHyperlinkPartitioner.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.text.ext/src/org/jboss/tools/seam/text/ext/hyperlink/SeamBeanHyperlinkPartitioner.java 2011-05-05 15:56:12 UTC (rev 31105)
+++ trunk/seam/plugins/org.jboss.tools.seam.text.ext/src/org/jboss/tools/seam/text/ext/hyperlink/SeamBeanHyperlinkPartitioner.java 2011-05-05 16:30:01 UTC (rev 31106)
@@ -1,12 +1,12 @@
/*******************************************************************************
- * Copyright (c) 2008 Exadel, Inc. and Red Hat, Inc.
+ * Copyright (c) 2008-2011 Red Hat, Inc.
* Distributed under license by Red Hat, Inc. All rights reserved.
* This program is made available under the terms of the
* Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
- * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ * Red Hat, Inc. - initial API and implementation
******************************************************************************/
package org.jboss.tools.seam.text.ext.hyperlink;
@@ -41,7 +41,6 @@
import org.jboss.tools.seam.core.ISeamContextVariable;
import org.jboss.tools.seam.core.ISeamMessages;
import org.jboss.tools.seam.core.ISeamProject;
-import org.jboss.tools.seam.core.ScopeType;
import org.jboss.tools.seam.core.SeamCorePlugin;
import org.jboss.tools.seam.internal.core.el.SeamELCompletionEngine;
import org.jboss.tools.seam.text.ext.SeamExtPlugin;
@@ -347,7 +346,7 @@
elText.append('.').append(app);
javaElements = engine.getJavaElementsForExpression(
- seamProject, file, elText.toString());
+ seamProject, file, elText.toString(), region.getOffset());
}
return javaElements;
} catch (BadLocationException x) {
Modified: trunk/seam/plugins/org.jboss.tools.seam.text.ext/src/org/jboss/tools/seam/text/ext/hyperlink/SeamComponentHyperlinkDetector.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.text.ext/src/org/jboss/tools/seam/text/ext/hyperlink/SeamComponentHyperlinkDetector.java 2011-05-05 15:56:12 UTC (rev 31105)
+++ trunk/seam/plugins/org.jboss.tools.seam.text.ext/src/org/jboss/tools/seam/text/ext/hyperlink/SeamComponentHyperlinkDetector.java 2011-05-05 16:30:01 UTC (rev 31106)
@@ -1,12 +1,12 @@
/*******************************************************************************
- * Copyright (c) 2009 Exadel, Inc. and Red Hat, Inc.
+ * Copyright (c) 2009-2011 Red Hat, Inc.
* Distributed under license by Red Hat, Inc. All rights reserved.
* This program is made available under the terms of the
* Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
- * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ * Red Hat, Inc. - initial API and implementation
******************************************************************************/
package org.jboss.tools.seam.text.ext.hyperlink;
@@ -172,7 +172,7 @@
try {
javaElements = engine.getJavaElementsForExpression(
- seamProject, file, value);
+ seamProject, file, value, region.getOffset());
} catch (StringIndexOutOfBoundsException e) {
SeamExtPlugin.getDefault().logError(e);
} catch (BadLocationException e) {
Modified: trunk/seam/plugins/org.jboss.tools.seam.text.ext/src/org/jboss/tools/seam/text/ext/hyperlink/SeamELInJavaStringHyperlinkDetector.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.text.ext/src/org/jboss/tools/seam/text/ext/hyperlink/SeamELInJavaStringHyperlinkDetector.java 2011-05-05 15:56:12 UTC (rev 31105)
+++ trunk/seam/plugins/org.jboss.tools.seam.text.ext/src/org/jboss/tools/seam/text/ext/hyperlink/SeamELInJavaStringHyperlinkDetector.java 2011-05-05 16:30:01 UTC (rev 31106)
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008 Red Hat, Inc.
+ * Copyright (c) 2008-2011 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,
@@ -41,7 +41,6 @@
import org.jboss.tools.seam.core.ISeamContextVariable;
import org.jboss.tools.seam.core.ISeamMessages;
import org.jboss.tools.seam.core.ISeamProject;
-import org.jboss.tools.seam.core.ScopeType;
import org.jboss.tools.seam.core.SeamCorePlugin;
import org.jboss.tools.seam.internal.core.el.SeamELCompletionEngine;
import org.jboss.tools.seam.text.ext.SeamExtPlugin;
@@ -125,7 +124,7 @@
try {
javaElements = engine.getJavaElementsForExpression(
- seamProject, file, prefix);
+ seamProject, file, prefix, region.getOffset());
} catch (StringIndexOutOfBoundsException e) {
SeamExtPlugin.getPluginLog().logError(e);
} catch (BadLocationException e) {
13 years, 2 months
JBoss Tools SVN: r31105 - in workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui: sdefs and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: bfitzpat
Date: 2011-05-05 11:56:12 -0400 (Thu, 05 May 2011)
New Revision: 31105
Modified:
workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/build.properties
workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/sdefs/switchyard-0.4.sdef
Log:
JBIDE-8714 - Updated editor to fix non-working state. now works with latest Switchyard framework again
Modified: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/build.properties
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/build.properties 2011-05-05 15:54:31 UTC (rev 31104)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/build.properties 2011-05-05 15:56:12 UTC (rev 31105)
@@ -2,3 +2,4 @@
bin.includes = META-INF/,\
.,\
plugin.xml
+src.excludes = .apt_generated/
Modified: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/sdefs/switchyard-0.4.sdef
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/sdefs/switchyard-0.4.sdef 2011-05-05 15:54:31 UTC (rev 31104)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/sdefs/switchyard-0.4.sdef 2011-05-05 15:56:12 UTC (rev 31105)
@@ -11,8 +11,8 @@
<page-header-text>switchyard</page-header-text>
<initial-selection>composites</initial-selection>
<root-node>
- <node-ref>composites.node.root</node-ref>
- <node-ref>transforms.node.root</node-ref>
+ <node-include>composites.node.root</node-include>
+ <node-include>transforms.node.root</node-include>
</root-node>
<documentation>
<title>switchyard configuration editor</title>
@@ -22,7 +22,7 @@
<node>
<id>composites.node.root</id>
<label>Composites</label>
- <node-list-ref>composites.node-list</node-list-ref>
+ <node-include>composites.node-list</node-include>
<section>
<label>Composites</label>
<content>
@@ -43,7 +43,7 @@
<node>
<id>transforms.node.root</id>
<label>Transforms</label>
- <node-list-ref>transforms.node-list</node-list-ref>
+ <node-include>transforms.node-list</node-include>
<section>
<label>Transforms</label>
<content>
@@ -58,10 +58,10 @@
</documentation>
</section>
</node>
- <node-list>
+ <node-factory>
<id>composites.node-list</id>
<property>composites</property>
- <node-template>
+ <case>
<label><composite></label>
<node>
<label>services</label>
@@ -76,7 +76,7 @@
</property-editor>
</content>
</section>
- <node-list-ref>services.node-list</node-list-ref>
+ <node-include>services.node-list</node-include>
</node>
<node>
<label>components</label>
@@ -91,14 +91,14 @@
</property-editor>
</content>
</section>
- <node-list-ref>components.node-list</node-list-ref>
+ <node-include>components.node-list</node-include>
</node>
<section>
<label>Composite</label>
<content>
<property-editor>Name</property-editor>
<property-editor>TargetNamespace</property-editor>
- <node-list-ref>services.node-list</node-list-ref>
+ <node-include>services.node-list</node-include>
<spacer></spacer>
<separator></separator>
<property-editor>
@@ -117,12 +117,12 @@
</property-editor>
</content>
</section>
- </node-template>
- </node-list>
- <node-list>
+ </case>
+ </node-factory>
+ <node-factory>
<id>services.node-list</id>
<property>services</property>
- <node-template>
+ <case>
<label>${ Name == null ? "<service>" : Name }</label>
<node>
<label>SOAP Bindings</label>
@@ -137,7 +137,7 @@
</property-editor>
</content>
</section>
- <node-list-ref>soap.bindings.node-list</node-list-ref>
+ <node-include>soap.bindings.node-list</node-include>
</node>
<section>
<label>Service</label>
@@ -155,12 +155,12 @@
</property-editor>
</content>
</section>
- </node-template>
- </node-list>
- <node-list>
+ </case>
+ </node-factory>
+ <node-factory>
<id>soap.bindings.node-list</id>
<property>SOAPBindings</property>
- <node-template>
+ <case>
<label><binding.soap></label>
<section>
<label>SOAP Binding</label>
@@ -194,15 +194,15 @@
</group>
</content>
</section>
- </node-template>
+ </case>
<section>
<content></content>
</section>
- </node-list>
- <node-list>
+ </node-factory>
+ <node-factory>
<id>components.node-list</id>
<property>components</property>
- <node-template>
+ <case>
<label>${ Name == null ? "<component>" : Name }</label>
<section>
<label>Component</label>
@@ -244,7 +244,7 @@
</property-editor>
</content>
</section>
- <node-list-ref>implementation.beans.node-list</node-list-ref>
+ <node-include>implementation.beans.node-list</node-include>
</node>
<node>
<label>Component Services</label>
@@ -259,7 +259,7 @@
</property-editor>
</content>
</section>
- <node-list-ref>component.services.node-list</node-list-ref>
+ <node-include>component.services.node-list</node-include>
</node>
<node>
<label>Component Service References</label>
@@ -274,14 +274,14 @@
</property-editor>
</content>
</section>
- <node-list-ref>component.service.references.node-list</node-list-ref>
+ <node-include>component.service.references.node-list</node-include>
</node>
- </node-template>
- </node-list>
- <node-list>
+ </case>
+ </node-factory>
+ <node-factory>
<id>implementation.beans.node-list</id>
<property>ImplementationBeans</property>
- <node-template>
+ <case>
<label><implementation.bean></label>
<section>
<label>Implementation Bean</label>
@@ -289,15 +289,15 @@
<property-editor>ImplBeanClass</property-editor>
</content>
</section>
- </node-template>
+ </case>
<section>
<content></content>
</section>
- </node-list>
- <node-list>
+ </node-factory>
+ <node-factory>
<id>component.services.node-list</id>
<property>ComponentServices</property>
- <node-template>
+ <case>
<label>${ Name == null ? "<service>" : Name }</label>
<section>
<label>Service</label>
@@ -325,14 +325,14 @@
</property-editor>
</content>
</section>
- <node-list-ref>java.interfaces.node-list</node-list-ref>
+ <node-include>java.interfaces.node-list</node-include>
</node>
- </node-template>
- </node-list>
- <node-list>
+ </case>
+ </node-factory>
+ <node-factory>
<id>java.interfaces.node-list</id>
<property>JavaInterfaces</property>
- <node-template>
+ <case>
<label><interface.java></label>
<section>
<label>Java Interface</label>
@@ -340,15 +340,15 @@
<property-editor>JavaInterface</property-editor>
</content>
</section>
- </node-template>
+ </case>
<section>
<content></content>
</section>
- </node-list>
- <node-list>
+ </node-factory>
+ <node-factory>
<id>component.service.references.node-list</id>
<property>ComponentServiceReferences</property>
- <node-template>
+ <case>
<label>${ Name == null ? "<reference>" : Name }</label>
<section>
<label>Reference</label>
@@ -376,14 +376,14 @@
</property-editor>
</content>
</section>
- <node-list-ref>java.interfaces.node-list</node-list-ref>
+ <node-include>java.interfaces.node-list</node-include>
</node>
- </node-template>
- </node-list>
- <node-list>
+ </case>
+ </node-factory>
+ <node-factory>
<id>transforms.node-list</id>
<property>Transforms</property>
- <node-template>
+ <case>
<label><transforms></label>
<section>
<label>Transforms</label>
@@ -406,7 +406,7 @@
</section>
<node>
<label>Java Transforms</label>
- <node-list-ref>transforms.java.transforms.node-list</node-list-ref>
+ <node-include>transforms.java.transforms.node-list</node-include>
<section>
<label>Java Transformations</label>
<content>
@@ -422,7 +422,7 @@
</node>
<node>
<label>Smooks Transforms</label>
- <node-list-ref>transforms.smooks.transforms.node-list</node-list-ref>
+ <node-include>transforms.smooks.transforms.node-list</node-include>
<section>
<label>Smooks Transformations</label>
<content>
@@ -436,12 +436,12 @@
</content>
</section>
</node>
- </node-template>
- </node-list>
- <node-list>
+ </case>
+ </node-factory>
+ <node-factory>
<id>transforms.smooks.transforms.node-list</id>
<property>SmooksTransforms</property>
- <node-template>
+ <case>
<label><from: ${ TransformSmooksFrom == null ? "undefined" : TransformSmooksFrom }><to: ${ TransformSmooksTo == null ? "undefined" : TransformSmooksTo }></label>
<section>
<label>Smooks Transformations</label>
@@ -451,12 +451,12 @@
<property-editor>TransformSmooksConfig</property-editor>
</content>
</section>
- </node-template>
- </node-list>
- <node-list>
+ </case>
+ </node-factory>
+ <node-factory>
<id>transforms.java.transforms.node-list</id>
<property>JavaTransforms</property>
- <node-template>
+ <case>
<label><class: ${ TransformJavaClass == null ? "undefined" : TransformJavaClass }></label>
<section>
<label>Java Transformations</label>
@@ -466,8 +466,8 @@
<property-editor>TransformJavaClass</property-editor>
</content>
</section>
- </node-template>
- </node-list>
+ </case>
+ </node-factory>
<diagram-page>
<id>diagram</id>
13 years, 2 months
JBoss Tools SVN: r31104 - trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui.
by jbosstools-commits@lists.jboss.org
Author: dazarov
Date: 2011-05-05 11:54:31 -0400 (Thu, 05 May 2011)
New Revision: 31104
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/CDIUIMessages.properties
Log:
JBIDE-8704, JBIDE-8705
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/CDIUIMessages.properties
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/CDIUIMessages.properties 2011-05-05 14:32:39 UTC (rev 31103)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/CDIUIMessages.properties 2011-05-05 15:54:31 UTC (rev 31104)
@@ -14,7 +14,7 @@
INJECTION_POINT_LABEL_PROVIDER_EVENT={0} - CDI Event
CDI_BEAN_QUERY_PARTICIPANT_TASK=Searching CDI Injection Points...
-CDI_BEAN_QUERY_PARTICIPANT_INJECT_FIELD={0} - @Inject Filed
+CDI_BEAN_QUERY_PARTICIPANT_INJECT_FIELD={0} - @Inject Field
CDI_BEAN_QUERY_PARTICIPANT_INJECT_METHOD={0} - @Inject Method
CDI_BEAN_QUERY_PARTICIPANT_INJECT_PARAMETER={0} - @Inject Parameter
13 years, 2 months
JBoss Tools SVN: r31103 - in workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui: META-INF and 2 other directories.
by jbosstools-commits@lists.jboss.org
Author: bfitzpat
Date: 2011-05-05 10:32:39 -0400 (Thu, 05 May 2011)
New Revision: 31103
Removed:
workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/.apt_generated/org/jboss/tools/esb/
Modified:
workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/META-INF/MANIFEST.MF
workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IComponent.java
workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IComponentService.java
workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IComponentServiceReference.java
workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IComposite.java
workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IImplementationBean.java
workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IInterfaceJava.java
workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ISOAPBinding.java
workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IService.java
workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ITransformJava.java
workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ITransformSmooks.java
workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ui/SwitchyardGraphicalEditor.java
Log:
JBIDE-8714 - Updated editor to fix compile errors introduced by recent Sapphire framework updates. Editor is in a non-working state due for the moment, but am working through those issues.
Modified: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/META-INF/MANIFEST.MF
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/META-INF/MANIFEST.MF 2011-05-05 14:31:15 UTC (rev 31102)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/META-INF/MANIFEST.MF 2011-05-05 14:32:39 UTC (rev 31103)
@@ -18,7 +18,8 @@
org.eclipse.ui.views,
org.eclipse.help,
org.eclipse.ui.views.properties.tabbed,
- org.eclipse.ui.ide
+ org.eclipse.ui.ide,
+ org.eclipse.sapphire.workspace
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-Vendor: JBoss.org
Modified: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IComponent.java
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IComponent.java 2011-05-05 14:31:15 UTC (rev 31102)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IComponent.java 2011-05-05 14:32:39 UTC (rev 31103)
@@ -8,7 +8,7 @@
import org.eclipse.sapphire.modeling.ValueProperty;
import org.eclipse.sapphire.modeling.annotations.GenerateImpl;
import org.eclipse.sapphire.modeling.annotations.Label;
-import org.eclipse.sapphire.modeling.annotations.NonNullValue;
+import org.eclipse.sapphire.modeling.annotations.Required;
import org.eclipse.sapphire.modeling.annotations.Type;
import org.eclipse.sapphire.modeling.xml.annotations.XmlBinding;
import org.eclipse.sapphire.modeling.xml.annotations.XmlListBinding;
@@ -28,7 +28,7 @@
@XmlBinding( path = "@name" )
@Label( standard = "&Name" )
- @NonNullValue
+ @Required
ValueProperty PROP_NAME = new ValueProperty( TYPE, "Name" );
Modified: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IComponentService.java
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IComponentService.java 2011-05-05 14:31:15 UTC (rev 31102)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IComponentService.java 2011-05-05 14:32:39 UTC (rev 31103)
@@ -8,7 +8,7 @@
import org.eclipse.sapphire.modeling.ValueProperty;
import org.eclipse.sapphire.modeling.annotations.GenerateImpl;
import org.eclipse.sapphire.modeling.annotations.Label;
-import org.eclipse.sapphire.modeling.annotations.NonNullValue;
+import org.eclipse.sapphire.modeling.annotations.Required;
import org.eclipse.sapphire.modeling.annotations.Type;
import org.eclipse.sapphire.modeling.xml.annotations.XmlBinding;
import org.eclipse.sapphire.modeling.xml.annotations.XmlListBinding;
@@ -25,7 +25,7 @@
@XmlBinding( path = "@name" )
@Label( standard = "&Name" )
- @NonNullValue
+ @Required
ValueProperty PROP_NAME = new ValueProperty( TYPE, "Name" );
Modified: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IComponentServiceReference.java
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IComponentServiceReference.java 2011-05-05 14:31:15 UTC (rev 31102)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IComponentServiceReference.java 2011-05-05 14:32:39 UTC (rev 31103)
@@ -8,7 +8,7 @@
import org.eclipse.sapphire.modeling.ValueProperty;
import org.eclipse.sapphire.modeling.annotations.GenerateImpl;
import org.eclipse.sapphire.modeling.annotations.Label;
-import org.eclipse.sapphire.modeling.annotations.NonNullValue;
+import org.eclipse.sapphire.modeling.annotations.Required;
import org.eclipse.sapphire.modeling.annotations.Type;
import org.eclipse.sapphire.modeling.xml.annotations.XmlBinding;
import org.eclipse.sapphire.modeling.xml.annotations.XmlListBinding;
@@ -25,7 +25,7 @@
@XmlBinding( path = "@name" )
@Label( standard = "&Name" )
- @NonNullValue
+ @Required
ValueProperty PROP_NAME = new ValueProperty( TYPE, "Name" );
Modified: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IComposite.java
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IComposite.java 2011-05-05 14:31:15 UTC (rev 31102)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IComposite.java 2011-05-05 14:32:39 UTC (rev 31103)
@@ -8,7 +8,7 @@
import org.eclipse.sapphire.modeling.ValueProperty;
import org.eclipse.sapphire.modeling.annotations.GenerateImpl;
import org.eclipse.sapphire.modeling.annotations.Label;
-import org.eclipse.sapphire.modeling.annotations.NonNullValue;
+import org.eclipse.sapphire.modeling.annotations.Required;
import org.eclipse.sapphire.modeling.annotations.Type;
import org.eclipse.sapphire.modeling.xml.annotations.XmlBinding;
import org.eclipse.sapphire.modeling.xml.annotations.XmlListBinding;
@@ -23,7 +23,7 @@
@XmlBinding( path = "@name" )
@Label( standard = "&Name" )
- @NonNullValue
+ @Required
ValueProperty PROP_NAME = new ValueProperty( TYPE, "Name" );
@@ -34,7 +34,7 @@
@XmlBinding( path = "@targetNamespace" )
@Label( standard = "&Target Namespace" )
- @NonNullValue
+ @Required
ValueProperty PROP_TARGET_NAMESPACE = new ValueProperty( TYPE, "TargetNamespace" );
Modified: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IImplementationBean.java
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IImplementationBean.java 2011-05-05 14:31:15 UTC (rev 31102)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IImplementationBean.java 2011-05-05 14:32:39 UTC (rev 31103)
@@ -7,7 +7,7 @@
import org.eclipse.sapphire.modeling.annotations.GenerateImpl;
import org.eclipse.sapphire.modeling.annotations.Label;
import org.eclipse.sapphire.modeling.annotations.MustExist;
-import org.eclipse.sapphire.modeling.annotations.NonNullValue;
+import org.eclipse.sapphire.modeling.annotations.Required;
import org.eclipse.sapphire.modeling.annotations.Type;
import org.eclipse.sapphire.java.JavaTypeConstraint;
import org.eclipse.sapphire.java.JavaTypeKind;
@@ -24,7 +24,7 @@
@XmlBinding( path = "@class" )
@Label( standard = "&class" )
- @NonNullValue
+ @Required
// ValueProperty PROP_IMPL_BEAN_CLASS = new ValueProperty( TYPE, "ImplBeanClass" );
//
Modified: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IInterfaceJava.java
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IInterfaceJava.java 2011-05-05 14:31:15 UTC (rev 31102)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IInterfaceJava.java 2011-05-05 14:32:39 UTC (rev 31103)
@@ -7,7 +7,7 @@
import org.eclipse.sapphire.modeling.annotations.GenerateImpl;
import org.eclipse.sapphire.modeling.annotations.Label;
import org.eclipse.sapphire.modeling.annotations.MustExist;
-import org.eclipse.sapphire.modeling.annotations.NonNullValue;
+import org.eclipse.sapphire.modeling.annotations.Required;
import org.eclipse.sapphire.modeling.annotations.Type;
import org.eclipse.sapphire.java.JavaTypeConstraint;
import org.eclipse.sapphire.java.JavaTypeKind;
@@ -24,7 +24,7 @@
@XmlBinding( path = "@interface" )
@Label( standard = "&Interface" )
- @NonNullValue
+ @Required
// ValueProperty PROP_JAVA_INTERFACE = new ValueProperty( TYPE, "JavaInterface" );
//
Modified: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ISOAPBinding.java
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ISOAPBinding.java 2011-05-05 14:31:15 UTC (rev 31102)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ISOAPBinding.java 2011-05-05 14:32:39 UTC (rev 31103)
@@ -1,23 +1,22 @@
package org.jboss.tools.esb.switchyard;
-import org.eclipse.core.runtime.IPath;
import org.eclipse.sapphire.modeling.IModelElement;
import org.eclipse.sapphire.modeling.ModelElementType;
+import org.eclipse.sapphire.modeling.Path;
import org.eclipse.sapphire.modeling.Value;
import org.eclipse.sapphire.modeling.ValueProperty;
-import org.eclipse.sapphire.modeling.annotations.BasePathsProvider;
import org.eclipse.sapphire.modeling.annotations.DefaultValue;
import org.eclipse.sapphire.modeling.annotations.FileSystemResourceType;
import org.eclipse.sapphire.modeling.annotations.GenerateImpl;
import org.eclipse.sapphire.modeling.annotations.Label;
import org.eclipse.sapphire.modeling.annotations.LongString;
import org.eclipse.sapphire.modeling.annotations.MustExist;
-import org.eclipse.sapphire.modeling.annotations.NonNullValue;
+import org.eclipse.sapphire.modeling.annotations.Required;
import org.eclipse.sapphire.modeling.annotations.Type;
import org.eclipse.sapphire.modeling.annotations.ValidFileExtensions;
import org.eclipse.sapphire.modeling.annotations.ValidFileSystemResourceType;
import org.eclipse.sapphire.modeling.xml.annotations.XmlBinding;
-import org.eclipse.sapphire.ui.def.internal.ProjectRootBasePathsProvider;
+import org.eclipse.sapphire.workspace.ProjectRelativePath;
@GenerateImpl
@@ -28,8 +27,8 @@
// *** serverPort ***
@XmlBinding( path = "port" )
@Label( standard = "&Port" )
- @NonNullValue
-
+ @Required
+
ValueProperty PROP_PORT = new ValueProperty( TYPE, "Port" );
Value<String> getPort();
@@ -39,25 +38,20 @@
@XmlBinding( path = "wsdl" )
@Label( standard = "&WSDL" )
- @NonNullValue
+ @Required
- @Type( base = IPath.class )
- @BasePathsProvider( ProjectRootBasePathsProvider.class )
+ @Type( base = Path.class )
+ @ProjectRelativePath
+ @MustExist
@ValidFileSystemResourceType( FileSystemResourceType.FILE )
@ValidFileExtensions( "wsdl" )
- @MustExist
ValueProperty PROP_WSDL = new ValueProperty( TYPE, "WSDL" );
- Value<IPath> getWsdl();
+ Value<Path> getWsdl();
void setWsdl( String value );
- void setWsdl( IPath value );
+ void setWsdl( Path value );
-// ValueProperty PROP_WSDL = new ValueProperty( TYPE, "WSDL" );
-//
-// Value<String> getWsdl();
-// void setWsdl( String value );
-
// *** secure ***
@Type( base = Boolean.class)
Modified: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IService.java
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IService.java 2011-05-05 14:31:15 UTC (rev 31102)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/IService.java 2011-05-05 14:32:39 UTC (rev 31103)
@@ -8,7 +8,7 @@
import org.eclipse.sapphire.modeling.ValueProperty;
import org.eclipse.sapphire.modeling.annotations.GenerateImpl;
import org.eclipse.sapphire.modeling.annotations.Label;
-import org.eclipse.sapphire.modeling.annotations.NonNullValue;
+import org.eclipse.sapphire.modeling.annotations.Required;
import org.eclipse.sapphire.modeling.annotations.Type;
import org.eclipse.sapphire.modeling.xml.annotations.XmlBinding;
import org.eclipse.sapphire.modeling.xml.annotations.XmlListBinding;
@@ -25,7 +25,7 @@
@XmlBinding( path = "@name" )
@Label( standard = "&Name" )
- @NonNullValue
+ @Required
ValueProperty PROP_NAME = new ValueProperty( TYPE, "Name" );
@@ -36,7 +36,7 @@
@XmlBinding( path = "@promote" )
@Label( standard = "&Promote" )
- @NonNullValue
+ @Required
ValueProperty PROP_PROMOTE = new ValueProperty( TYPE, "Promote" );
Modified: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ITransformJava.java
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ITransformJava.java 2011-05-05 14:31:15 UTC (rev 31102)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ITransformJava.java 2011-05-05 14:32:39 UTC (rev 31103)
@@ -7,7 +7,7 @@
import org.eclipse.sapphire.modeling.annotations.GenerateImpl;
import org.eclipse.sapphire.modeling.annotations.Label;
import org.eclipse.sapphire.modeling.annotations.MustExist;
-import org.eclipse.sapphire.modeling.annotations.NonNullValue;
+import org.eclipse.sapphire.modeling.annotations.Required;
import org.eclipse.sapphire.modeling.annotations.Type;
import org.eclipse.sapphire.java.JavaTypeConstraint;
import org.eclipse.sapphire.java.JavaTypeKind;
@@ -24,7 +24,7 @@
@XmlBinding( path = "@from" )
@Label( standard = "&from" )
- @NonNullValue
+ @Required
ValueProperty PROP_TRANSFORM_JAVA_FROM = new ValueProperty( TYPE, "TransformJavaFrom" );
@@ -35,7 +35,7 @@
@XmlBinding( path = "@to" )
@Label( standard = "&To" )
- @NonNullValue
+ @Required
ValueProperty PROP_TRANSFORM_JAVA_TO = new ValueProperty( TYPE, "TransformJavaTo" );
@@ -46,7 +46,7 @@
@XmlBinding( path = "@class" )
@Label( standard = "&class" )
- @NonNullValue
+ @Required
// ValueProperty PROP_TRANSFORM_JAVA_CLASS = new ValueProperty( TYPE, "TransformJavaClass" );
//
Modified: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ITransformSmooks.java
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ITransformSmooks.java 2011-05-05 14:31:15 UTC (rev 31102)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ITransformSmooks.java 2011-05-05 14:32:39 UTC (rev 31103)
@@ -1,22 +1,21 @@
package org.jboss.tools.esb.switchyard;
-import org.eclipse.core.runtime.IPath;
import org.eclipse.sapphire.modeling.IModelElement;
import org.eclipse.sapphire.modeling.ModelElementType;
+import org.eclipse.sapphire.modeling.Path;
import org.eclipse.sapphire.modeling.Value;
import org.eclipse.sapphire.modeling.ValueProperty;
-import org.eclipse.sapphire.modeling.annotations.BasePathsProvider;
import org.eclipse.sapphire.modeling.annotations.FileSystemResourceType;
import org.eclipse.sapphire.modeling.annotations.GenerateImpl;
import org.eclipse.sapphire.modeling.annotations.Label;
import org.eclipse.sapphire.modeling.annotations.MustExist;
-import org.eclipse.sapphire.modeling.annotations.NonNullValue;
+import org.eclipse.sapphire.modeling.annotations.Required;
import org.eclipse.sapphire.modeling.annotations.Type;
import org.eclipse.sapphire.modeling.annotations.ValidFileExtensions;
import org.eclipse.sapphire.modeling.annotations.ValidFileSystemResourceType;
import org.eclipse.sapphire.modeling.xml.annotations.XmlBinding;
import org.eclipse.sapphire.modeling.xml.annotations.XmlNamespace;
-import org.eclipse.sapphire.ui.def.internal.ProjectRootBasePathsProvider;
+import org.eclipse.sapphire.workspace.ProjectRelativePath;
@GenerateImpl
@XmlNamespace( uri = "urn:switchyard-config:test-smooks:1.0", prefix = "smooks" )
@@ -29,7 +28,7 @@
@XmlBinding( path = "@from" )
@Label( standard = "&From" )
- @NonNullValue
+ @Required
ValueProperty PROP_TRANSFORM_SMOOKS_FROM = new ValueProperty( TYPE, "TransformSmooksFrom" );
@@ -40,7 +39,7 @@
@XmlBinding( path = "@to" )
@Label( standard = "&To" )
- @NonNullValue
+ @Required
ValueProperty PROP_TRANSFORM_SMOOKS_TO = new ValueProperty( TYPE, "TransformSmooksTo" );
@@ -51,17 +50,17 @@
@XmlBinding( path = "smooks:config" )
@Label( standard = "&Smooks Config" )
- @NonNullValue
- @Type( base = IPath.class )
- @BasePathsProvider( ProjectRootBasePathsProvider.class )
+ @ProjectRelativePath
+ @Required
+ @Type( base = Path.class )
@ValidFileSystemResourceType( FileSystemResourceType.FILE )
@ValidFileExtensions( "xml" )
@MustExist
ValueProperty PROP_TRANSFORM_SMOOKS_CONFIG = new ValueProperty( TYPE, "TransformSmooksConfig" );
- Value<IPath> getTransformSmooksConfig();
+ Value<Path> getTransformSmooksConfig();
void setTransformSmooksConfig( String value );
- void setTransformSmooksConfig( IPath value );
+ void setTransformSmooksConfig( Path value );
}
Modified: workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ui/SwitchyardGraphicalEditor.java
===================================================================
--- workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ui/SwitchyardGraphicalEditor.java 2011-05-05 14:31:15 UTC (rev 31102)
+++ workspace/bfitzpat/org.jboss.tools.esb.switchyard.ui/src/org/jboss/tools/esb/switchyard/ui/SwitchyardGraphicalEditor.java 2011-05-05 14:32:39 UTC (rev 31103)
@@ -7,7 +7,7 @@
import org.eclipse.sapphire.modeling.IModelElement;
import org.eclipse.sapphire.modeling.xml.RootXmlResource;
import org.eclipse.sapphire.ui.SapphireEditor;
-import org.eclipse.sapphire.ui.editor.views.masterdetails.MasterDetailsPage;
+import org.eclipse.sapphire.ui.form.editors.masterdetails.MasterDetailsEditorPage;
import org.eclipse.sapphire.ui.internal.SapphireUiFrameworkPlugin;
import org.eclipse.sapphire.ui.swt.graphiti.editor.SapphireDiagramEditor;
import org.eclipse.sapphire.ui.swt.graphiti.editor.SapphireDiagramEditorFactory;
@@ -23,7 +23,7 @@
private ISwitchyard modelSwitchyard;
private StructuredTextEditor switchyardSourceEditor;
private SapphireDiagramEditor switchyardDiagramEditor;
- private MasterDetailsPage switchyardFormPage;
+ private MasterDetailsEditorPage switchyardFormPage;
private final static int FORM_PAGE = 0;
private final static int DIAGRAM_PAGE = 1;
@@ -70,7 +70,7 @@
{
addPage(DIAGRAM_PAGE, switchyardDiagramEditor, diagramEditorInput);
setPageText( DIAGRAM_PAGE, "Diagram" );
- setPageId(this.pages.get(DIAGRAM_PAGE), "Diagram");
+ setPageId(this.pages.get(DIAGRAM_PAGE), "Diagram", this.switchyardDiagramEditor.getPart());
}
}
@@ -78,10 +78,10 @@
protected void createFormPages() throws PartInitException
{
IPath path = new Path( "org.jboss.tools.esb.switchyard.ui/sdefs/switchyard-0.4.sdef/main" );
- this.switchyardFormPage = new MasterDetailsPage(this, this.modelSwitchyard, path);
+ this.switchyardFormPage = new MasterDetailsEditorPage(this, this.modelSwitchyard, path);
addPage(FORM_PAGE, this.switchyardFormPage);
setPageText(FORM_PAGE, "Overview");
- setPageId(this.pages.get(FORM_PAGE), "Overview");
+ setPageId(this.pages.get(FORM_PAGE), "Overview", this.switchyardDiagramEditor.getPart());
}
@Override
13 years, 2 months
JBoss Tools SVN: r31102 - in workspace/rstryker: CheckAllVersions and 7 other directories.
by jbosstools-commits@lists.jboss.org
Author: rob.stryker(a)jboss.com
Date: 2011-05-05 10:31:15 -0400 (Thu, 05 May 2011)
New Revision: 31102
Added:
workspace/rstryker/CheckAllVersions/
workspace/rstryker/CheckAllVersions/.classpath
workspace/rstryker/CheckAllVersions/.project
workspace/rstryker/CheckAllVersions/.settings/
workspace/rstryker/CheckAllVersions/.settings/org.eclipse.jdt.core.prefs
workspace/rstryker/CheckAllVersions/bin/
workspace/rstryker/CheckAllVersions/bin/check/
workspace/rstryker/CheckAllVersions/bin/check/versions/
workspace/rstryker/CheckAllVersions/bin/check/versions/Main$TempLog.class
workspace/rstryker/CheckAllVersions/bin/check/versions/Main.class
workspace/rstryker/CheckAllVersions/src/
workspace/rstryker/CheckAllVersions/src/check/
workspace/rstryker/CheckAllVersions/src/check/versions/
workspace/rstryker/CheckAllVersions/src/check/versions/Main.java
Log:
workspace stuff for me and nick boldt
Added: workspace/rstryker/CheckAllVersions/.classpath
===================================================================
--- workspace/rstryker/CheckAllVersions/.classpath (rev 0)
+++ workspace/rstryker/CheckAllVersions/.classpath 2011-05-05 14:31:15 UTC (rev 31102)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
Added: workspace/rstryker/CheckAllVersions/.project
===================================================================
--- workspace/rstryker/CheckAllVersions/.project (rev 0)
+++ workspace/rstryker/CheckAllVersions/.project 2011-05-05 14:31:15 UTC (rev 31102)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>CheckAllVersions</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
Added: workspace/rstryker/CheckAllVersions/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- workspace/rstryker/CheckAllVersions/.settings/org.eclipse.jdt.core.prefs (rev 0)
+++ workspace/rstryker/CheckAllVersions/.settings/org.eclipse.jdt.core.prefs 2011-05-05 14:31:15 UTC (rev 31102)
@@ -0,0 +1,12 @@
+#Wed May 04 10:12:28 CST 2011
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
Added: workspace/rstryker/CheckAllVersions/bin/check/versions/Main$TempLog.class
===================================================================
(Binary files differ)
Property changes on: workspace/rstryker/CheckAllVersions/bin/check/versions/Main$TempLog.class
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: workspace/rstryker/CheckAllVersions/bin/check/versions/Main.class
===================================================================
(Binary files differ)
Property changes on: workspace/rstryker/CheckAllVersions/bin/check/versions/Main.class
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: workspace/rstryker/CheckAllVersions/src/check/versions/Main.java
===================================================================
--- workspace/rstryker/CheckAllVersions/src/check/versions/Main.java (rev 0)
+++ workspace/rstryker/CheckAllVersions/src/check/versions/Main.java 2011-05-05 14:31:15 UTC (rev 31102)
@@ -0,0 +1,338 @@
+package check.versions;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.util.ArrayList;
+import java.util.Arrays;
+
+public class Main {
+ public static final String LAST_MAJOR_PROP = "check.versions.last.major.tag.prop";
+ public static final String MAINTENANCE_STREAM = "check.versions.maintenance.stream.prop";
+ public static final String TRUNK_STREAM = "check.versions.trunk.stream.prop";
+ public static final String LAST_MAJOR_LOC = System.getProperty(LAST_MAJOR_PROP);
+ public static final String MAINTENANCE_LOC = System.getProperty(MAINTENANCE_STREAM);
+ public static final String TRUNK_LOC = System.getProperty(TRUNK_STREAM);
+ public static final String[] excludes = new String[] { ".svn", "bin", ".gitignore", "pom.xml" };
+
+ public static final int TRANSITION_MAINTENANCE=1;
+ public static final int TRANSITION_MAJOR=2;
+ private int currentTransition = 0;
+
+ private ArrayList<String> changedPlugins = new ArrayList<String>();
+
+ public static void main(String[] args) {
+ new Main().execute();
+ }
+
+ public void execute() {
+ diffRoots();
+ }
+
+ // replace with maven log later
+ public class TempLog {
+ public void trace(String s) {
+ //System.out.println(s);
+ }
+ public void info(String s) {
+ System.out.println(s);
+ }
+ public void error(String s) {
+ System.out.println(s);
+ }
+ public void warn(String s) {
+ System.out.println(s);
+ }
+ }
+ private TempLog log = new TempLog();
+ public TempLog getLog() {
+ return log;
+ }
+ // end log bullshit
+
+ public void diffRoots() {
+ printUsage();
+ getLog().info("Comparing last major release to maintenance\n\n");
+ currentTransition = TRANSITION_MAINTENANCE;
+ diffRoots(LAST_MAJOR_LOC, MAINTENANCE_LOC);
+ getLog().info("\n\n");
+ getLog().info("Comparing maintenance release to trunk\n\n");
+ currentTransition = TRANSITION_MAJOR;
+ diffRoots(MAINTENANCE_LOC, TRUNK_LOC);
+ }
+
+ private void printUsage() {
+ getLog().info("**************");
+ getLog().info("* Running comparisons");
+ getLog().info("*");
+ getLog().info("* Ignoring following files / folders: " );
+ for( int i = 0; i < excludes.length; i++ ) {
+ getLog().info("* " + excludes[i]);
+ }
+ getLog().info("*");
+ getLog().info("* Example diff command: ");
+ getLog().info("* diff -r --exclude=.svn --exclude=bin --exclude=.gitignore --exclude=pom.xml ${root1}/jmx/plugins/org.jboss.tools.jmx.core ${root2}/jmx/plugins/org.jboss.tools.jmx.core");
+ getLog().info("*************");
+
+ getLog().info("\n\n");
+ }
+
+ public void diffRoots(String oldLoc, String newLoc) {
+ String[] oldMods = new File(oldLoc).list();
+ String[] newMods2 = new File(newLoc).list();
+ ArrayList<String> newMods = new ArrayList<String>();
+ newMods.addAll(Arrays.asList(newMods2));
+ for( int i = 0; i < oldMods.length; i++ ) {
+ if( !ignore(oldMods[i])) {
+ // ONLY handle modules that are in both locations
+ if( newMods.contains(oldMods[i])) {
+ getLog().info(" [Module " + oldMods[i] + "]");
+ diffMod(oldLoc, newLoc, oldMods[i]);
+ } else {
+ getLog().info(" [Module " + oldMods[i] + "] - IGNORING, not present in newer branch");
+ }
+ }
+ }
+ }
+
+ public void diffMod(String oldLoc, String newLoc, String mod) {
+ diffPluginContainer(oldLoc, newLoc, mod, "plugins");
+ diffPluginContainer(oldLoc, newLoc, mod, "tests");
+ handleFeatures(oldLoc, newLoc, mod);
+ }
+
+ private void handleFeatures(String oldLoc, String newLoc, String module) {
+
+ }
+
+ private boolean ignore(String folder) {
+ if( Arrays.asList(excludes).contains(folder))
+ return true;
+ if( folder.equals("pom.xml"))
+ return true;
+ return false;
+ }
+
+ public void diffPluginContainer(String oldLoc, String newLoc, String mod, String folder) {
+ if( ignore( folder ))
+ return;
+
+ File o1 = new File(new File(new File(oldLoc), mod), folder);
+ File n1 = new File(new File(new File(newLoc), mod), folder);
+ String[] oldbundles = o1.list();
+ String[] newbundles2 = n1.list();
+ ArrayList<String> newbundles = new ArrayList<String>();
+ if( newbundles2 != null )
+ newbundles.addAll(Arrays.asList(newbundles2));
+ if( oldbundles != null ) {
+ for( int i = 0; i < oldbundles.length; i++ ) {
+ // ONLY handle modules that are in both locations
+ if( newbundles.contains(oldbundles[i]) && !ignore(oldbundles[i])) {
+ handleOneBundle(o1, n1, oldbundles[i]);
+ }
+ }
+ }
+ }
+
+ private void handleOneBundle(File o1, File n1, String bundleName) {
+ // Handle / diff one bundle
+ File bundle1 = new File(o1, bundleName);
+ File bundle2 = new File(n1, bundleName);
+ String out = diffBundleString(bundle1, bundle2);
+ int bundleDiffLength = out == null ? -1 : out.length();
+ if( out == null ) {
+ getLog().error(" * IOException while executing diff for bundle " + bundle1.getName());
+ } else {
+ getLog().trace(" * bundle " + bundle1.getName() + " has a diff of length " + bundleDiffLength);
+ if( bundle1.isFile() && bundle2.isFile())
+ getLog().trace(" * ignoring file " + bundle1.getName());
+ else {
+ handleOneBundle2(bundle1, bundle2, bundleDiffLength > 0);
+ changedPlugins.add(bundle1.getName());
+ }
+ }
+ }
+
+ private void handleOneBundle2(File bundle1, File bundle2, boolean requiresIncrement) {
+ File manifest1 = new File(new File(bundle1, "META-INF"), "MANIFEST.MF");
+ File manifest2 = new File(new File(bundle2, "META-INF"), "MANIFEST.MF");
+ File pom1 = new File(bundle1, "pom.xml");
+ File pom2 = new File(bundle2, "pom.xml");
+
+ if( !manifest1.exists())
+ getLog().error( " *** Manifest1 does not exist: " + manifest1.getAbsolutePath());
+ if( !manifest2.exists())
+ getLog().error( " *** Manifest2 does not exist: " + manifest2.getAbsolutePath());
+ if( !pom1.exists())
+ getLog().error( " *** Pom1 does not exist: " + pom1.getAbsolutePath());
+ if( !pom2.exists())
+ getLog().error( " *** Pom2 does not exist: " + pom2.getAbsolutePath());
+
+ String manVersion1 = findManifestVersion(manifest1);
+ String manVersion2 = findManifestVersion(manifest2);
+ String pomVersion1 = findPomVersion(pom1);
+ String pomVersion2 = findPomVersion(pom2);
+
+ if( manifest1.exists() && manVersion1 == null )
+ getLog().error( " *** No manifest version number for " + manifest1.getAbsolutePath());
+ if( manifest2.exists() && manVersion2 == null )
+ getLog().error( " *** No manifest version number for " + manifest2.getAbsolutePath());
+ if( pom1.exists() && pomVersion1 == null )
+ getLog().error( " *** No pom version number for " + pom1.getAbsolutePath());
+ if( pom2.exists() && pomVersion2 == null )
+ getLog().error( " *** No pom version number for " + pom2.getAbsolutePath());
+
+ if( manVersion1 != null && !manVersion1.endsWith(".qualifier"))
+ getLog().trace( " *** No '.qualifier' in file " + manifest1.getAbsolutePath());
+ if( manVersion2 != null && !manVersion2.endsWith(".qualifier"))
+ getLog().trace( " *** No '.qualifier' in file " + manifest2.getAbsolutePath());
+ if( pomVersion1 != null && !pomVersion1.endsWith("-SNAPSHOT"))
+ getLog().trace( " *** No '-SNAPSHOT' in file " + pom1.getAbsolutePath());
+ if( pomVersion2 != null && !pomVersion2.endsWith("-SNAPSHOT"))
+ getLog().trace( " *** No '-SNAPSHOT' in file " + pom2.getAbsolutePath());
+
+
+ String man1Small, man2Small, pom1Small, pom2Small;
+ man1Small = getSmallManifestVersion(manVersion1);
+ man2Small = getSmallManifestVersion(manVersion2);
+ pom1Small = getSmallPomVersion(pomVersion1);
+ pom2Small = getSmallPomVersion(pomVersion2);
+ if( man1Small != null && pom1Small != null && !pom1Small.equals(man1Small))
+ getLog().error(" *** Previous version's pom.xml and manifest.mf version string for bundle " + bundle1.getName() + " do not match. (pom=" + pom1Small + " vs manifest=" + man1Small + ")");
+ if( man2Small != null && pom2Small != null && !pom2Small.equals(man2Small))
+ getLog().error(" *** Newer version's pom.xml and manifest.mf version string for bundle " + bundle1.getName() + " do not match. (pom=" + pom2Small + " vs manifest=" + man2Small + ")");
+
+ if( requiresIncrement) {
+ if( man1Small != null && man2Small != null && man1Small.equals(man2Small))
+ getLog().error(getIncrementString("manifest", bundle1.getName(), man1Small));
+ if( pom1Small != null && pom2Small != null && pom1Small.equals(pom2Small))
+ getLog().error(getIncrementString("pom.xml", bundle1.getName(), pom1Small));
+ }
+ }
+
+ private String getIncrementString(String file, String bundleName, String previousVersion) {
+ String[] prevArr = previousVersion.split("\\.");
+ int index = currentTransition == TRANSITION_MAINTENANCE ? 1 : 2;
+ String p = prevArr[prevArr.length-index];
+ try {
+ int tmp = new Integer(p).intValue();
+ prevArr[prevArr.length-index] = "" + (tmp+1);
+ String newVersion = prevArr[0];
+ for( int i = 1; i < prevArr.length; i++ )
+ newVersion += "." + prevArr[i];
+ return " *** Bundle " + bundleName + " has changed. Increment " + file + " version from " + previousVersion + " to " + newVersion;
+ } catch(NumberFormatException nfe) {
+ return " *** Bundle " + bundleName + " has changed. Increment " + file + " version from " + previousVersion + " to SOMETHING ELSE";
+ }
+ }
+
+ private String getSmallManifestVersion(String full) {
+ if( full == null)
+ return null;
+ if( !full.endsWith(".qualifier") )
+ return full;
+ return full.substring(0, full.indexOf(".qualifier"));
+ }
+ private String getSmallPomVersion(String full) {
+ if( full == null)
+ return null;
+ if( !full.endsWith("-SNAPSHOT") )
+ return full;
+ return full.substring(0, full.indexOf("-SNAPSHOT"));
+ }
+
+ /*
+ * Has the bundle changed at all?
+ */
+ private String diffBundleString(File bundle1, File bundle2) {
+ String command = getDiffCommand(bundle1.getAbsolutePath(), bundle2.getAbsolutePath());
+ try {
+ Process p = Runtime.getRuntime().exec(command);
+ String output = readOutput(p);
+ return output;
+ } catch(IOException ioe) {
+ // ignore?
+ ioe.printStackTrace();
+ }
+ return null;
+ }
+
+ private String findManifestVersion(File file) {
+ if( !file.exists())
+ return null;
+
+ try {
+ InputStreamReader isr = new InputStreamReader(new FileInputStream(file));
+ BufferedReader br = new BufferedReader(isr);
+ String VERSION_KEY = "Bundle-Version:";
+ String line;
+ while ((line = br.readLine()) != null) {
+ if( line.startsWith(VERSION_KEY)) {
+ return line.substring(VERSION_KEY.length()).trim();
+ }
+ }
+ } catch(IOException ioe) {
+
+ }
+ return null;
+ }
+
+ private String findPomVersion(File file) {
+ if( !file.exists())
+ return null;
+
+ try {
+ FileInputStream is = new FileInputStream(file);
+ BufferedReader br = new BufferedReader(new InputStreamReader(is));
+ String pomContents = getOutput(br);
+ int index = pomContents.indexOf("<version>");
+ if( index == -1 )
+ throw new Exception("Blah");
+ int newIndex = pomContents.indexOf("<version>", index+1);
+ if( newIndex == -1 )
+ throw new Exception("blah");
+ int end = pomContents.indexOf("</version>", newIndex+1);
+ String versionString = pomContents.substring(newIndex + "<version>".length(), end);
+ return versionString;
+ } catch( Exception e) {
+ getLog().error(" *** Cannot read pom plugin version for file: " + file.getAbsolutePath());
+ }
+ return null;
+ }
+
+ public String getDiffCommand(String o1, String n1) {
+ String generateCommand = "diff -r ";
+ for( int i = 0; i < excludes.length; i++ ) {
+ generateCommand += "--exclude=" + excludes[i] + " ";
+ }
+ generateCommand += o1 + " " + n1; // + " > " + tmpFilePath;
+ return generateCommand;
+ }
+
+
+ private String readOutput(Process p) {
+ InputStream is = p.getInputStream();
+ InputStreamReader isr = new InputStreamReader(is);
+ BufferedReader br = new BufferedReader(isr);
+ return getOutput(br);
+ }
+
+ private String getOutput(BufferedReader br) {
+ String out = "";
+ String line;
+ int exit = -1;
+
+ try {
+ while ((line = br.readLine()) != null) {
+ // Outputs your process execution
+ out += line + '\n';
+ }
+ } catch(IOException ioe) {
+ ioe.printStackTrace();
+ }
+ return out;
+ }
+}
13 years, 2 months