Author: DartPeng
Date: 2009-05-27 02:37:36 -0400 (Wed, 27 May 2009)
New Revision: 15546
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/BindingsContextContentProposal.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/BindingsContextProposalProvider.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/JavaPropertiesProposalProvider.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/MultiTextContentAdapter.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SetterMethodContentProposal.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SetterMethodProposalProvider.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/XMLStructuredModelProposal.java
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.core/plugin.properties
trunk/smooks/plugins/org.jboss.tools.smooks.core/src/org/jboss/tools/smooks/core/SmooksCoreActivator.java
trunk/smooks/plugins/org.jboss.tools.smooks.core/src/org/jboss/tools/smooks/model/esbrouting/provider/RouteBeanItemProvider.java
trunk/smooks/plugins/org.jboss.tools.smooks.core/src/org/jboss/tools/smooks/model/javabean/impl/JavabeanPackageImpl.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/PropertyUICreator.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SelectoreSelectionDialog.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksStuffPropertyDetailPage.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/freemarker/TemplateUICreator.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/javabean/JavaMethodsSelectionDialog.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/javabean/JavaPropertiesSelectionDialog.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/javabean/JavabeanExpressionUICreator.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/javabean/JavabeanWiringUICreator.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/javabean/PropertiesAndSetterMethodSearchFieldEditorCreator.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/smooks/ConditionTypeUICreator.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/BeanIdRefProposalProvider.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/JavaPropertyUtils.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SelectorContentProposalProvider.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SmooksUIUtils.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/AbstractValidator.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/BeanIdRefValidator.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/SmooksModelValidator.java
Log:
JBIDE-4232
1.Fix a bug (set Text value to CDATA , there is a superfluous '\r')
2.Re-design the details page of Wiring and Value Binding
3.Add content assist for "SetterMethod" and "Property" text control.
4.Add content assist for "Expression". ( I like this feature)
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.core/plugin.properties
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.core/plugin.properties 2009-05-27 06:25:34
UTC (rev 15545)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.core/plugin.properties 2009-05-27 06:37:36
UTC (rev 15546)
@@ -180,7 +180,7 @@
_UI_InlineDirective_replace_literal = replace
_UI_InlineDirective_insertbefore_literal = insertbefore
_UI_InlineDirective_insertafter_literal = insertafter
-_UI_BindingsType_type = Bindings
+_UI_BindingsType_type = Java Object
_UI_DecodeParamType_type = Decode Param
_UI_ExpressionType_type = Expression
_UI_ValueType_type = Value Binding
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.core/src/org/jboss/tools/smooks/core/SmooksCoreActivator.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.core/src/org/jboss/tools/smooks/core/SmooksCoreActivator.java 2009-05-27
06:25:34 UTC (rev 15545)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.core/src/org/jboss/tools/smooks/core/SmooksCoreActivator.java 2009-05-27
06:37:36 UTC (rev 15546)
@@ -1,5 +1,6 @@
package org.jboss.tools.smooks.core;
+import org.eclipse.jface.resource.ImageRegistry;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext;
@@ -47,4 +48,15 @@
return plugin;
}
+ /* (non-Javadoc)
+ * @see
org.eclipse.ui.plugin.AbstractUIPlugin#initializeImageRegistry(org.eclipse.jface.resource.ImageRegistry)
+ */
+ @Override
+ protected void initializeImageRegistry(ImageRegistry reg) {
+ super.initializeImageRegistry(reg);
+ reg.put("BindingsType",imageDescriptorFromPlugin(PLUGIN_ID,
"/icons/full/obj16/BindingsType.gif"));
+ reg.put("ExpressionType",imageDescriptorFromPlugin(PLUGIN_ID,
"/icons/full/obj16/ExpressionType.gif"));
+ reg.put("ValueType",imageDescriptorFromPlugin(PLUGIN_ID,
"/icons/full/obj16/ValueType.gif"));
+ reg.put("WiringType",imageDescriptorFromPlugin(PLUGIN_ID,
"/icons/full/obj16/WiringType.gif"));
+ }
}
\ No newline at end of file
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.core/src/org/jboss/tools/smooks/model/esbrouting/provider/RouteBeanItemProvider.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.core/src/org/jboss/tools/smooks/model/esbrouting/provider/RouteBeanItemProvider.java 2009-05-27
06:25:34 UTC (rev 15545)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.core/src/org/jboss/tools/smooks/model/esbrouting/provider/RouteBeanItemProvider.java 2009-05-27
06:37:36 UTC (rev 15546)
@@ -246,10 +246,19 @@
*/
@Override
public String getText(Object object) {
+
String label = ((RouteBean)object).getToServiceName();
- return label == null || label.length() == 0 ?
- getString("_UI_RouteBean_type") :
- getString("_UI_RouteBean_type") + " " + label;
+ String categoryName = ((RouteBean)object).getToServiceCategory();
+ boolean returnServiceName = false;
+ if(label != null && label.length() != 0 && categoryName != null
&& categoryName.length() != 0){
+ returnServiceName = true;
+ }
+ if(returnServiceName){
+ return getString("_UI_RouteBean_type") + " (" + label+" :
" + categoryName + ")";
+ }else{
+ return getString("_UI_RouteBean_type");
+ }
+
}
/**
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.core/src/org/jboss/tools/smooks/model/javabean/impl/JavabeanPackageImpl.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.core/src/org/jboss/tools/smooks/model/javabean/impl/JavabeanPackageImpl.java 2009-05-27
06:25:34 UTC (rev 15545)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.core/src/org/jboss/tools/smooks/model/javabean/impl/JavabeanPackageImpl.java 2009-05-27
06:37:36 UTC (rev 15546)
@@ -890,7 +890,7 @@
source,
new String[] {
"name", "expression_._type",
- "kind", "simple"
+ "kind", "mixed"
});
addAnnotation
(getExpressionType_Value(),
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/PropertyUICreator.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/PropertyUICreator.java 2009-05-27
06:25:34 UTC (rev 15545)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/PropertyUICreator.java 2009-05-27
06:37:36 UTC (rev 15546)
@@ -243,7 +243,7 @@
if (editValue != null) {
combo.setText(editValue.toString());
}
- List<String> list = SmooksUIUtils.getBeanIdList(smooksResourceList);
+ List<String> list = SmooksUIUtils.getBeanIdStringList(smooksResourceList);
for (Iterator<String> iterator = list.iterator(); iterator.hasNext();) {
String beanId = (String) iterator.next();
combo.add(beanId);
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SelectoreSelectionDialog.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SelectoreSelectionDialog.java 2009-05-27
06:25:34 UTC (rev 15545)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SelectoreSelectionDialog.java 2009-05-27
06:37:36 UTC (rev 15546)
@@ -255,8 +255,8 @@
if (model != null) {
list.add(model);
}
- } finally {
-
+ }catch(Throwable t){
+ // ignore
}
}
if (SmooksModelUtils.INPUT_TYPE_XML.equals(type)) {
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksStuffPropertyDetailPage.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksStuffPropertyDetailPage.java 2009-05-27
06:25:34 UTC (rev 15545)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksStuffPropertyDetailPage.java 2009-05-27
06:37:36 UTC (rev 15546)
@@ -124,6 +124,7 @@
if (list != null) {
for (Iterator<?> iterator = list.iterator(); iterator.hasNext();) {
AttributeFieldEditPart attributeFieldEditPart = (AttributeFieldEditPart)
iterator.next();
+ if(attributeFieldEditPart == null) continue;
Object attribute = attributeFieldEditPart.getAttribute();
if (attribute != null && attributeFieldEditPart != null) {
currentPropertyUIMap.put(attribute, attributeFieldEditPart);
@@ -158,6 +159,7 @@
if (list != null) {
for (Iterator<?> iterator = list.iterator(); iterator.hasNext();) {
AttributeFieldEditPart attributeFieldEditPart = (AttributeFieldEditPart)
iterator.next();
+ if(attributeFieldEditPart == null) continue;
Object attribute = attributeFieldEditPart.getAttribute();
if (attribute != null && attributeFieldEditPart != null) {
currentPropertyUIMap.put(attribute, attributeFieldEditPart);
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/freemarker/TemplateUICreator.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/freemarker/TemplateUICreator.java 2009-05-27
06:25:34 UTC (rev 15545)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/freemarker/TemplateUICreator.java 2009-05-27
06:37:36 UTC (rev 15546)
@@ -14,16 +14,21 @@
import java.util.List;
import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.xml.type.AnyType;
import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.swt.events.DisposeEvent;
+import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.forms.widgets.FormToolkit;
import org.jboss.tools.smooks.configuration.actions.OpenEditorEditInnerContentsAction;
import org.jboss.tools.smooks.configuration.editors.AttributeFieldEditPart;
import org.jboss.tools.smooks.configuration.editors.PropertyUICreator;
import org.jboss.tools.smooks.configuration.editors.SmooksMultiFormEditor;
+import org.jboss.tools.smooks.configuration.editors.uitls.FieldAssistDisposer;
import org.jboss.tools.smooks.configuration.editors.uitls.SmooksUIUtils;
import org.jboss.tools.smooks.model.freemarker.FreemarkerPackage;
@@ -60,6 +65,26 @@
AttributeFieldEditPart cdatatext = SmooksUIUtils.createCDATAFieldEditor("Inline
Template", editingdomain,
toolkit, parent, model, openCDATAEditorAction, true);
+ Control c = cdatatext.getContentControl();
+
+ if (c instanceof Text) {
+ final FieldAssistDisposer disposer =
SmooksUIUtils.addBindingsContextAssistToText((Text) c, SmooksUIUtils
+ .getSmooks11ResourceListType((EObject) model));
+ c.addDisposeListener(new DisposeListener() {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.swt.events.DisposeListener#widgetDisposed(org
+ * .eclipse.swt.events.DisposeEvent)
+ */
+ public void widgetDisposed(DisposeEvent e) {
+ disposer.dispose();
+ }
+
+ });
+ }
list.add(cdatatext);
// AttributeFieldEditPart commenttext =
// SmooksUIUtils.createCommentFieldEditor("Template Contents(Comment)",
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/javabean/JavaMethodsSelectionDialog.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/javabean/JavaMethodsSelectionDialog.java 2009-05-27
06:25:34 UTC (rev 15545)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/javabean/JavaMethodsSelectionDialog.java 2009-05-27
06:37:36 UTC (rev 15546)
@@ -63,13 +63,16 @@
MethodSelectionDialog dialog = new MethodSelectionDialog(shell, resource, clazz);
if (dialog.open() == Dialog.OK) {
Method pd = (Method) dialog.getCurrentSelection();
+ if(pd == null){
+ return null;
+ }
return pd.getName();
}else{
return null;
}
}
MessageDialog.openInformation(shell, "Can't open dialog",
- "Can't open java methods selection dialog.");
+ "Can't open java methods selection dialog.Please check the 'class'
value of Java Object.");
return null;
}
@@ -103,7 +106,7 @@
fl.marginHeight = 10;
fl.marginWidth = 10;
composite.setLayout(fl);
- viewer = new TableViewer(composite, SWT.BORDER);
+ viewer = new TableViewer(composite, SWT.BORDER|SWT.FULL_SELECTION);
Table table = viewer.getTable();
TableColumn nameColumn = new TableColumn(table, SWT.NONE);
nameColumn.setWidth(100);
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/javabean/JavaPropertiesSelectionDialog.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/javabean/JavaPropertiesSelectionDialog.java 2009-05-27
06:25:34 UTC (rev 15545)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/javabean/JavaPropertiesSelectionDialog.java 2009-05-27
06:37:36 UTC (rev 15546)
@@ -10,9 +10,10 @@
******************************************************************************/
package org.jboss.tools.smooks.configuration.editors.javabean;
-import java.beans.PropertyDescriptor;
+import java.lang.reflect.Array;
import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaModelException;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.DoubleClickEvent;
@@ -39,7 +40,7 @@
import org.jboss.tools.smooks.configuration.editors.GraphicsConstants;
import org.jboss.tools.smooks.configuration.editors.uitls.IFieldDialog;
import org.jboss.tools.smooks.configuration.editors.uitls.IModelProcsser;
-import org.jboss.tools.smooks.configuration.editors.uitls.JavaPropertyUtils;
+import org.jboss.tools.smooks.configuration.editors.uitls.ProjectClassLoader;
/**
* @author Dart (dpeng(a)redhat.com)
@@ -48,28 +49,54 @@
*/
public class JavaPropertiesSelectionDialog implements IFieldDialog {
- private IJavaProject resource;
+ private IJavaProject project;
- private Class<?> clazz;
+ private String className;
- public JavaPropertiesSelectionDialog(IJavaProject resource, Class<?> clazz) {
+ public JavaPropertiesSelectionDialog(IJavaProject resource, String className) {
super();
- this.resource = resource;
- this.clazz = clazz;
+ this.project = resource;
+ this.className = className;
}
public Object open(Shell shell) {
- if (resource != null && clazz != null) {
- PropertySelectionDialog dialog = new PropertySelectionDialog(shell, resource, clazz);
- if (dialog.open() == Dialog.OK) {
- PropertyDescriptor pd = (PropertyDescriptor) dialog.getCurrentSelection();
- return pd.getName();
- }else{
- return null;
+ String errorMessage = "";
+ if(project == null){
+ errorMessage = "Please make sure the project is the 'Java
Project'";
+ }
+ try {
+ if (project != null && className != null) {
+ Class<?> clazz = null;
+ ProjectClassLoader classLoader;
+
+ classLoader = new ProjectClassLoader(project);
+
+ if (className.endsWith("[]")) {
+ String arrayClassName = className.substring(0, className.length() - 2);
+ clazz = classLoader.loadClass(arrayClassName);
+ Object arrayInstance = Array.newInstance(clazz, 0);
+ clazz = arrayInstance.getClass();
+ } else {
+ clazz = classLoader.loadClass(className);
+ }
+ JavaBeanModel beanModel = JavaBeanModelFactory.getJavaBeanModel(clazz);
+ PropertySelectionDialog dialog = new PropertySelectionDialog(shell, project,
beanModel);
+ if (dialog.open() == Dialog.OK) {
+ JavaBeanModel pd = (JavaBeanModel) dialog.getCurrentSelection();
+ if(pd == null){
+ return null;
+ }
+ return pd.getName();
+ } else {
+ return null;
+ }
}
+ } catch (JavaModelException e) {
+ errorMessage = "";
+ } catch (ClassNotFoundException e) {
+ errorMessage = "'" + className + "' can't be found.";
}
- MessageDialog.openInformation(shell, "Can't open dialog",
- "Can't open java properties selection dialog.");
+ MessageDialog.openInformation(shell, "Can't open dialog", "Can't
get properties of '" + className + "'.\n" + errorMessage);
return null;
}
@@ -77,19 +104,17 @@
private TableViewer viewer;
- private Class<?> clazz;
-
private Object currentSelection;
-
-
+ private JavaBeanModel beanModel = null;
+
public PropertySelectionDialog(IShellProvider parentShell) {
super(parentShell);
}
- public PropertySelectionDialog(Shell parentShell, IJavaProject project, Class<?>
clazz) {
+ public PropertySelectionDialog(Shell parentShell, IJavaProject project, JavaBeanModel
beanModel) {
super(parentShell);
- this.clazz = clazz;
+ this.beanModel = beanModel;
}
@Override
@@ -103,7 +128,7 @@
fl.marginHeight = 10;
fl.marginWidth = 10;
composite.setLayout(fl);
- viewer = new TableViewer(composite, SWT.BORDER);
+ viewer = new TableViewer(composite, SWT.BORDER|SWT.FULL_SELECTION);
Table table = viewer.getTable();
TableColumn nameColumn = new TableColumn(table, SWT.NONE);
nameColumn.setWidth(100);
@@ -114,9 +139,8 @@
table.setHeaderVisible(true);
viewer.setContentProvider(new PropertyDescriptorContentProvider());
viewer.setLabelProvider(new PropertyDescriptorLabelProvider());
- PropertyDescriptor[] pds = JavaPropertyUtils.getPropertyDescriptor(clazz);
- viewer.setInput(pds);
- viewer.addDoubleClickListener(new IDoubleClickListener(){
+ viewer.setInput(beanModel);
+ viewer.addDoubleClickListener(new IDoubleClickListener() {
public void doubleClick(DoubleClickEvent event) {
okPressed();
}
@@ -126,7 +150,7 @@
currentSelection = ((IStructuredSelection) event.getSelection()).getFirstElement();
}
});
- getShell().setText(clazz.getSimpleName() + "'s Properties");
+ getShell().setText(beanModel.getName() + "'s Properties");
return composite;
}
@@ -142,6 +166,9 @@
private class PropertyDescriptorContentProvider implements IStructuredContentProvider {
public Object[] getElements(Object inputElement) {
+ if (inputElement instanceof JavaBeanModel) {
+ return ((JavaBeanModel) inputElement).getChildren().toArray();
+ }
if (inputElement.getClass().isArray()) {
return (Object[]) inputElement;
}
@@ -168,17 +195,13 @@
}
public String getColumnText(Object element, int columnIndex) {
- if (element instanceof PropertyDescriptor) {
- PropertyDescriptor p = (PropertyDescriptor) element;
+ if (element instanceof JavaBeanModel) {
+ JavaBeanModel p = (JavaBeanModel) element;
switch (columnIndex) {
case 0:
return p.getName();
case 1:
- Class<?> cla = p.getPropertyType();
- if(cla.isArray()){
- return cla.getComponentType().getName() + "[]";
- }
- return cla.getName();
+ return p.getBeanClassString();
}
}
return getText(element);
@@ -192,6 +215,6 @@
public void setModelProcesser(IModelProcsser processer) {
// TODO Auto-generated method stub
-
+
}
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/javabean/JavabeanExpressionUICreator.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/javabean/JavabeanExpressionUICreator.java 2009-05-27
06:25:34 UTC (rev 15545)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/javabean/JavabeanExpressionUICreator.java 2009-05-27
06:37:36 UTC (rev 15546)
@@ -14,17 +14,19 @@
import java.util.List;
import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.xml.type.AnyType;
+import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.swt.events.DisposeEvent;
+import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.jboss.tools.smooks.configuration.actions.OpenEditorEditInnerContentsAction;
import org.jboss.tools.smooks.configuration.editors.AttributeFieldEditPart;
import org.jboss.tools.smooks.configuration.editors.IPropertyUICreator;
-import org.jboss.tools.smooks.configuration.editors.PropertyUICreator;
import org.jboss.tools.smooks.configuration.editors.SmooksMultiFormEditor;
+import org.jboss.tools.smooks.configuration.editors.uitls.FieldAssistDisposer;
import org.jboss.tools.smooks.configuration.editors.uitls.SmooksUIUtils;
import org.jboss.tools.smooks.model.javabean.JavabeanPackage;
@@ -32,7 +34,8 @@
* @author Dart (dpeng(a)redhat.com)
*
*/
-public class JavabeanExpressionUICreator extends PropertyUICreator implements
IPropertyUICreator {
+public class JavabeanExpressionUICreator extends
PropertiesAndSetterMethodSearchFieldEditorCreator implements
+ IPropertyUICreator {
/*
* (non-Javadoc)
@@ -45,34 +48,50 @@
* org.jboss.tools.smooks.configuration.editors.SmooksMultiFormEditor)
*/
@Override
- public List<AttributeFieldEditPart>
createExtendUIOnBottom(AdapterFactoryEditingDomain editingdomain, FormToolkit toolkit,
- Composite parent, Object model, SmooksMultiFormEditor formEditor) {
+ public List<AttributeFieldEditPart>
createExtendUIOnBottom(AdapterFactoryEditingDomain editingdomain,
+ FormToolkit toolkit, Composite parent, Object model, SmooksMultiFormEditor formEditor)
{
List<AttributeFieldEditPart> list = new
ArrayList<AttributeFieldEditPart>();
- OpenEditorEditInnerContentsAction openCDATAEditorAction = new
OpenEditorEditInnerContentsAction(editingdomain,
- (AnyType) model, SmooksUIUtils.VALUE_TYPE_TEXT, "txt");
+ AttributeFieldEditPart cdatatext =
SmooksUIUtils.createCDATAFieldEditor("Expression", editingdomain, toolkit,
+ parent, model, null, true);
+ if (cdatatext != null) {
+ list.add(cdatatext);
+
+ Control c = cdatatext.getContentControl();
+
+ if(c instanceof Text){
+ final FieldAssistDisposer disposer =
SmooksUIUtils.addBindingsContextAssistToText((Text)c,
SmooksUIUtils.getSmooks11ResourceListType((EObject)model));
+ c.addDisposeListener(new DisposeListener(){
- AttributeFieldEditPart cdatatext =
SmooksUIUtils.createStringFieldEditor("Expression", parent, editingdomain,
- toolkit, null, model, true, false, false, 300, null, SmooksUIUtils.VALUE_TYPE_TEXT,
- openCDATAEditorAction);
-
- if(cdatatext != null){
- list.add(cdatatext);
+ /* (non-Javadoc)
+ * @see
org.eclipse.swt.events.DisposeListener#widgetDisposed(org.eclipse.swt.events.DisposeEvent)
+ */
+ public void widgetDisposed(DisposeEvent e) {
+ disposer.dispose();
+ }
+
+ });
+ }
}
- openCDATAEditorAction.setRelateText((Text)cdatatext.getContentControl());
-
return list;
}
-
- public List<AttributeFieldEditPart>
createExtendUIOnTop(AdapterFactoryEditingDomain editingdomain, FormToolkit toolkit,
- Composite parent, Object model, SmooksMultiFormEditor formEditor) {
- List<AttributeFieldEditPart> list = createElementSelectionSection("Execute
On Element", editingdomain, toolkit,
- parent, model, formEditor,
JavabeanPackage.Literals.EXPRESSION_TYPE__EXEC_ON_ELEMENT,
- JavabeanPackage.Literals.EXPRESSION_TYPE__EXEC_ON_ELEMENT_NS);
-
+
+ public List<AttributeFieldEditPart>
createExtendUIOnTop(AdapterFactoryEditingDomain editingdomain,
+ FormToolkit toolkit, Composite parent, Object model, SmooksMultiFormEditor formEditor)
{
+
+ List<AttributeFieldEditPart> list = new
ArrayList<AttributeFieldEditPart>();
+
+ AttributeFieldEditPart pEditPart = createPropertiesSearchFieldEditor(toolkit, parent,
getPropertyDescriptor(
+ editingdomain, JavabeanPackage.Literals.EXPRESSION_TYPE__PROPERTY, model), model);
+ AttributeFieldEditPart mEditPart = createMethodsSearchFieldEditor(toolkit, parent,
getPropertyDescriptor(
+ editingdomain, JavabeanPackage.Literals.EXPRESSION_TYPE__SETTER_METHOD, model),
model);
+ list.add(pEditPart);
+ list.add(mEditPart);
+ list.addAll(createElementSelectionSection("Execute On Element",
editingdomain, toolkit, parent, model,
+ formEditor, JavabeanPackage.Literals.EXPRESSION_TYPE__EXEC_ON_ELEMENT,
+ JavabeanPackage.Literals.EXPRESSION_TYPE__EXEC_ON_ELEMENT_NS));
+
return list;
}
-
-
/*
* (non-Javadoc)
@@ -92,6 +111,12 @@
if (feature == JavabeanPackage.Literals.EXPRESSION_TYPE__VALUE) {
return true;
}
+ if (feature == JavabeanPackage.Literals.EXPRESSION_TYPE__PROPERTY) {
+ return true;
+ }
+ if (feature == JavabeanPackage.Literals.EXPRESSION_TYPE__SETTER_METHOD) {
+ return true;
+ }
return super.ignoreProperty(feature);
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/javabean/JavabeanWiringUICreator.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/javabean/JavabeanWiringUICreator.java 2009-05-27
06:25:34 UTC (rev 15545)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/javabean/JavabeanWiringUICreator.java 2009-05-27
06:37:36 UTC (rev 15546)
@@ -10,6 +10,7 @@
******************************************************************************/
package org.jboss.tools.smooks.configuration.editors.javabean;
+import java.util.ArrayList;
import java.util.List;
import org.eclipse.emf.ecore.EAttribute;
@@ -28,17 +29,18 @@
@Override
protected boolean canCreatePropertiesSearchFieldEditor(EAttribute feature) {
- if (feature == JavabeanPackage.eINSTANCE.getWiringType_Property()) {
- return true;
- }
+ // if (feature == JavabeanPackage.eINSTANCE.getWiringType_Property()) {
+ // return true;
+ // }
return false;
}
@Override
protected boolean canCreateMethodsSearchFieldEditor(EAttribute feature) {
- if (feature == JavabeanPackage.eINSTANCE.getWiringType_SetterMethod()) {
- return true;
- }
+ // if (feature ==
+ // JavabeanPackage.eINSTANCE.getWiringType_SetterMethod()) {
+ // return true;
+ // }
return super.canCreateMethodsSearchFieldEditor(feature);
}
@@ -57,6 +59,12 @@
if (feature == JavabeanPackage.eINSTANCE.getWiringType_WireOnElementNS()) {
return true;
}
+ if (feature == JavabeanPackage.eINSTANCE.getWiringType_Property()) {
+ return true;
+ }
+ if (feature == JavabeanPackage.eINSTANCE.getWiringType_SetterMethod()) {
+ return true;
+ }
return super.ignoreProperty(feature);
}
@@ -71,11 +79,21 @@
* org.jboss.tools.smooks.configuration.editors.SmooksMultiFormEditor)
*/
@Override
- public List<AttributeFieldEditPart>
createExtendUIOnTop(AdapterFactoryEditingDomain editingdomain, FormToolkit toolkit,
- Composite parent, Object model, SmooksMultiFormEditor formEditor) {
- return createElementSelectionSection("Wrie On Element", editingdomain,
toolkit, parent, model, formEditor,
+ public List<AttributeFieldEditPart>
createExtendUIOnTop(AdapterFactoryEditingDomain editingdomain,
+ FormToolkit toolkit, Composite parent, Object model, SmooksMultiFormEditor formEditor)
{
+
+ List<AttributeFieldEditPart> list = new
ArrayList<AttributeFieldEditPart>();
+
+ AttributeFieldEditPart pEditPart = createPropertiesSearchFieldEditor(toolkit, parent,
getPropertyDescriptor(
+ editingdomain, JavabeanPackage.eINSTANCE.getWiringType_Property(), model), model);
+ AttributeFieldEditPart mEditPart = createMethodsSearchFieldEditor(toolkit, parent,
getPropertyDescriptor(
+ editingdomain, JavabeanPackage.eINSTANCE.getWiringType_SetterMethod(), model),
model);
+ list.add(pEditPart);
+ list.add(mEditPart);
+ list.addAll(createElementSelectionSection("Wrie On Element", editingdomain,
toolkit, parent, model, formEditor,
JavabeanPackage.eINSTANCE.getWiringType_WireOnElement(),
- JavabeanPackage.Literals.WIRING_TYPE__WIRE_ON_ELEMENT_NS);
+ JavabeanPackage.Literals.WIRING_TYPE__WIRE_ON_ELEMENT_NS));
+ return list;
}
@Override
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/javabean/PropertiesAndSetterMethodSearchFieldEditorCreator.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/javabean/PropertiesAndSetterMethodSearchFieldEditorCreator.java 2009-05-27
06:25:34 UTC (rev 15545)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/javabean/PropertiesAndSetterMethodSearchFieldEditorCreator.java 2009-05-27
06:37:36 UTC (rev 15546)
@@ -47,11 +47,11 @@
}
protected String getPropertiesSearchButtonName(){
- return "Search property";
+ return "Browse";
}
protected String getMethodsSearchButtonName(){
- return "Search setter method";
+ return "Browse";
}
protected AttributeFieldEditPart createPropertiesSearchFieldEditor(FormToolkit toolkit,
Composite parent,
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/smooks/ConditionTypeUICreator.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/smooks/ConditionTypeUICreator.java 2009-05-27
06:25:34 UTC (rev 15545)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/smooks/ConditionTypeUICreator.java 2009-05-27
06:37:36 UTC (rev 15546)
@@ -13,15 +13,21 @@
import java.util.ArrayList;
import java.util.List;
+
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.swt.events.DisposeEvent;
+import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.forms.widgets.FormToolkit;
import org.jboss.tools.smooks.configuration.editors.AttributeFieldEditPart;
import org.jboss.tools.smooks.configuration.editors.PropertyUICreator;
import org.jboss.tools.smooks.configuration.editors.SmooksMultiFormEditor;
+import org.jboss.tools.smooks.configuration.editors.uitls.FieldAssistDisposer;
import org.jboss.tools.smooks.configuration.editors.uitls.SmooksUIUtils;
import org.jboss.tools.smooks.model.smooks.SmooksPackage;
@@ -69,8 +75,23 @@
public List<AttributeFieldEditPart>
createExtendUIOnBottom(AdapterFactoryEditingDomain editingdomain,
FormToolkit toolkit, Composite parent, Object model, SmooksMultiFormEditor formEditor)
{
List<AttributeFieldEditPart> list = new
ArrayList<AttributeFieldEditPart>();
- AttributeFieldEditPart cdatatext = SmooksUIUtils.createCDATAFieldEditor("Condition
Value", editingdomain,
+ AttributeFieldEditPart cdatatext = SmooksUIUtils.createCDATAFieldEditor("Inline
Condition", editingdomain,
toolkit, parent, model, null,true);
+ Control c = cdatatext.getContentControl();
+
+ if(c instanceof Text){
+ final FieldAssistDisposer disposer =
SmooksUIUtils.addBindingsContextAssistToText((Text)c,
SmooksUIUtils.getSmooks11ResourceListType((EObject)model));
+ c.addDisposeListener(new DisposeListener(){
+
+ /* (non-Javadoc)
+ * @see
org.eclipse.swt.events.DisposeListener#widgetDisposed(org.eclipse.swt.events.DisposeEvent)
+ */
+ public void widgetDisposed(DisposeEvent e) {
+ disposer.dispose();
+ }
+
+ });
+ }
list.add(cdatatext);
return list;
}
@@ -87,6 +108,12 @@
if (feature == SmooksPackage.eINSTANCE.getConditionType_Value()) {
return true;
}
+ if (feature == SmooksPackage.eINSTANCE.getConditionType_Evaluator()) {
+ return true;
+ }
+ if (feature == SmooksPackage.eINSTANCE.getConditionType_Id()) {
+ return true;
+ }
return super.ignoreProperty(feature);
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/BeanIdRefProposalProvider.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/BeanIdRefProposalProvider.java 2009-05-27
06:25:34 UTC (rev 15545)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/BeanIdRefProposalProvider.java 2009-05-27
06:37:36 UTC (rev 15546)
@@ -37,7 +37,7 @@
List<IContentProposal> proposalList = new ArrayList<IContentProposal>();
SmooksResourceListType listType = getSmooksResourceList(model);
if(listType != null){
- List<String> idList = SmooksUIUtils.getBeanIdList(listType);
+ List<String> idList = SmooksUIUtils.getBeanIdStringList(listType);
for (Iterator<String> iterator = idList.iterator(); iterator.hasNext();) {
String id = (String) iterator.next();
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/BindingsContextContentProposal.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/BindingsContextContentProposal.java
(rev 0)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/BindingsContextContentProposal.java 2009-05-27
06:37:36 UTC (rev 15546)
@@ -0,0 +1,109 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.smooks.configuration.editors.uitls;
+
+import org.eclipse.jface.fieldassist.IContentProposal;
+
+/**
+ * @author Dart (dpeng(a)redhat.com)
+ *
+ */
+public class BindingsContextContentProposal implements IContentProposal {
+
+ private int startIndex = 0;
+
+ private String content = null;
+
+ public static final int BINDINGS = 1;
+
+ public static final int PROPERTIES = 2;
+
+ public static final int WIRTINGS = 3;
+
+ public static final int EXPRESSIONS = 4;
+
+ private int type = BINDINGS;
+
+ public BindingsContextContentProposal(int type , String content,int startIndex){
+ this.startIndex = startIndex;
+ this.content = content;
+ this.type = type;
+ }
+
+
+ /**
+ * @return the type
+ */
+ public int getType() {
+ return type;
+ }
+
+
+
+ /**
+ * @param type the type to set
+ */
+ public void setType(int type) {
+ this.type = type;
+ }
+
+
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.fieldassist.IContentProposal#getContent()
+ */
+ public String getContent() {
+ // TODO Auto-generated method stub
+ return content;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.fieldassist.IContentProposal#getCursorPosition()
+ */
+ public int getCursorPosition() {
+ if(content != null){
+ return getContent().length() + startIndex ;
+ }
+ return startIndex;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.fieldassist.IContentProposal#getDescription()
+ */
+ public String getDescription() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.fieldassist.IContentProposal#getLabel()
+ */
+ public String getLabel() {
+ String name = "";
+ if(type == BINDINGS){
+ name = "Java Object";
+ }
+ if(type == PROPERTIES){
+ name = "Value Binding";
+ }
+ if(type == WIRTINGS){
+ name = "Wiring";
+ }
+ if(type == EXPRESSIONS){
+ name = "Expression";
+ }
+ if(name.length() != 0 && content != null){
+ return content + " - ( " + name + " )";
+ }
+ return content;
+ }
+
+}
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/BindingsContextContentProposal.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/BindingsContextProposalProvider.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/BindingsContextProposalProvider.java
(rev 0)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/BindingsContextProposalProvider.java 2009-05-27
06:37:36 UTC (rev 15546)
@@ -0,0 +1,215 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.smooks.configuration.editors.uitls;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.jface.fieldassist.IContentProposal;
+import org.eclipse.jface.fieldassist.IContentProposalProvider;
+import org.eclipse.swt.widgets.Text;
+import org.jboss.tools.smooks.model.javabean.BindingsType;
+import org.jboss.tools.smooks.model.javabean.ExpressionType;
+import org.jboss.tools.smooks.model.javabean.ValueType;
+import org.jboss.tools.smooks.model.javabean.WiringType;
+import org.jboss.tools.smooks.model.smooks.SmooksResourceListType;
+
+/**
+ * @author Dart (dpeng(a)redhat.com)
+ *
+ */
+public class BindingsContextProposalProvider implements IContentProposalProvider {
+
+ private Text textControl;
+
+ private List<BindingsType> bindingsList = null;
+
+ private List<String> bindingsIDList = null;
+
+ public BindingsContextProposalProvider(SmooksResourceListType listType, Text
textControl) {
+ this.textControl = textControl;
+ bindingsList = SmooksUIUtils.getBeanIdList(listType);
+ bindingsIDList = SmooksUIUtils.getBeanIdStringList(listType);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.jface.fieldassist.IContentProposalProvider#getProposals(java
+ * .lang.String, int)
+ */
+ public IContentProposal[] getProposals(String contents, int position) {
+ if (contents.length() == 2) {
+ System.out.println();
+ }
+ if (bindingsList == null || bindingsList.isEmpty()) {
+ return new IContentProposal[] {};
+ }
+ String content = textControl.getText(0, textControl.getCaretPosition() - 1);
+
+ ContextString currentContextString = loadContextString(content);
+
+ char dotChar = currentContextString.getEndChar();
+ int endIndex = currentContextString.getEndIndex();
+ String replaceContent = currentContextString.getContent();
+ List<IContentProposal> plist = new ArrayList<IContentProposal>();
+ if (dotChar == '.') {
+
+ BindingsType bindings = loadContextBindings(textControl.getText(0, endIndex - 1));
+ if (bindings != null) {
+ List<ValueType> valueList = bindings.getValue();
+ for (Iterator<?> iterator = valueList.iterator(); iterator.hasNext();) {
+ ValueType valueType = (ValueType) iterator.next();
+ String property = valueType.getProperty();
+ if (property != null) {
+ if (property.toLowerCase().startsWith(replaceContent.toLowerCase())) {
+ plist.add(new
BindingsContextContentProposal(BindingsContextContentProposal.PROPERTIES,
+ property, position - replaceContent.length()));
+ }
+ }
+ }
+ List<WiringType> wiringList = bindings.getWiring();
+ for (Iterator<?> iterator = wiringList.iterator(); iterator.hasNext();) {
+ WiringType wiringType = (WiringType) iterator.next();
+ String property = wiringType.getProperty();
+ if (property != null) {
+ if (property.toLowerCase().startsWith(replaceContent.toLowerCase())) {
+ plist.add(new
BindingsContextContentProposal(BindingsContextContentProposal.WIRTINGS,
+ property, position - replaceContent.length()));
+ }
+ }
+ }
+
+ List<ExpressionType> expressionList = bindings.getExpression();
+ for (Iterator<?> iterator = expressionList.iterator(); iterator.hasNext();) {
+ ExpressionType wiringType = (ExpressionType) iterator.next();
+ String property = wiringType.getProperty();
+ if (property != null) {
+ if (property.toLowerCase().startsWith(replaceContent.toLowerCase())) {
+ plist.add(new
BindingsContextContentProposal(BindingsContextContentProposal.EXPRESSIONS,
+ property, position - replaceContent.length()));
+ }
+ }
+ }
+ }
+ } else {
+ for (Iterator<String> iterator = bindingsIDList.iterator(); iterator.hasNext();)
{
+ String id = (String) iterator.next();
+ if (id.toLowerCase().startsWith(replaceContent.toLowerCase())) {
+ plist.add(new
BindingsContextContentProposal(BindingsContextContentProposal.BINDINGS, id, position
+ - replaceContent.length()));
+ }
+ }
+ }
+
+ return plist.toArray(new IContentProposal[] {});
+ }
+
+ private BindingsType loadContextBindings(String content) {
+ ContextString cs = loadContextString(content);
+ // if (cs.endChar != '.') {
+ String name = cs.getContent();
+
+ for (Iterator<?> iterator = bindingsList.iterator(); iterator.hasNext();) {
+ BindingsType bindings = (BindingsType) iterator.next();
+ String id = bindings.getBeanId();
+ if (id != null) {
+ if (id.equalsIgnoreCase(name)) {
+ return bindings;
+ }
+ }
+ }
+ // }
+ return null;
+ }
+
+ private ContextString loadContextString(String content) {
+ char[] chars = content.toCharArray();
+ char dotChar = ' ';
+ int endIndex = 0;
+ for (int i = chars.length - 1; i > 0; i--) {
+ char c = chars[i];
+ if (c != ' ' && c != '\r' && c != '\n'
&& c != '\t' && Character.isLetterOrDigit(c)) {
+ continue;
+ }
+ dotChar = c;
+ endIndex = i;
+ break;
+ }
+ ContextString cs = new ContextString();
+ cs.setEndChar(dotChar);
+ if (content.length() == 0) {
+ cs.setContent(content);
+ } else {
+ cs.setContent(content.substring(endIndex + 1, content.length()));
+ }
+ if (endIndex == 0) {
+ cs.setContent(content.substring(endIndex, content.length()));
+ }
+ cs.setEndIndex(endIndex);
+ return cs;
+ }
+
+ private class ContextString {
+ char endChar = ' ';
+ String content = null;
+ int endIndex = 0;
+
+ /**
+ * @return the endIndex
+ */
+ public int getEndIndex() {
+ return endIndex;
+ }
+
+ /**
+ * @param endIndex
+ * the endIndex to set
+ */
+ public void setEndIndex(int endIndex) {
+ this.endIndex = endIndex;
+ }
+
+ /**
+ * @return the endChar
+ */
+ public char getEndChar() {
+ return endChar;
+ }
+
+ /**
+ * @param endChar
+ * the endChar to set
+ */
+ public void setEndChar(char endChar) {
+ this.endChar = endChar;
+ }
+
+ /**
+ * @return the content
+ */
+ public String getContent() {
+ return content;
+ }
+
+ /**
+ * @param content
+ * the content to set
+ */
+ public void setContent(String content) {
+ this.content = content;
+ }
+
+ }
+
+}
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/BindingsContextProposalProvider.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/JavaPropertiesProposalProvider.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/JavaPropertiesProposalProvider.java
(rev 0)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/JavaPropertiesProposalProvider.java 2009-05-27
06:37:36 UTC (rev 15546)
@@ -0,0 +1,82 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.smooks.configuration.editors.uitls;
+
+import java.lang.reflect.Array;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jdt.core.JavaModelException;
+import org.eclipse.jface.fieldassist.IContentProposal;
+import org.eclipse.jface.fieldassist.IContentProposalProvider;
+import org.jboss.tools.smooks.configuration.editors.IXMLStructuredObject;
+import org.jboss.tools.smooks.configuration.editors.javabean.JavaBeanModel;
+import org.jboss.tools.smooks.configuration.editors.javabean.JavaBeanModelFactory;
+
+/**
+ * @author Dart (dpeng(a)redhat.com)
+ *
+ */
+public class JavaPropertiesProposalProvider implements IContentProposalProvider {
+
+ private JavaBeanModel beanModel;
+
+ public JavaPropertiesProposalProvider(IProject project,String className){
+ try {
+ if (project != null && className != null) {
+ Class<?> clazz = null;
+ ProjectClassLoader classLoader;
+
+ classLoader = new ProjectClassLoader(JavaCore.create(project));
+
+ if (className.endsWith("[]")) {
+ String arrayClassName = className.substring(0, className.length() - 2);
+ clazz = classLoader.loadClass(arrayClassName);
+ Object arrayInstance = Array.newInstance(clazz, 0);
+ clazz = arrayInstance.getClass();
+ } else {
+ clazz = classLoader.loadClass(className);
+ }
+ beanModel = JavaBeanModelFactory.getJavaBeanModel(clazz);
+ }
+ } catch (JavaModelException e) {
+ } catch (ClassNotFoundException e) {
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see
org.eclipse.jface.fieldassist.IContentProposalProvider#getProposals(java.lang.String,
int)
+ */
+ public IContentProposal[] getProposals(String contents, int position) {
+ if(beanModel == null){
+ return new IContentProposal[]{};
+ }
+ List<IContentProposal> list = new ArrayList<IContentProposal>();
+ List<IXMLStructuredObject> children = beanModel.getChildren();
+ for (Iterator<?> iterator = children.iterator(); iterator.hasNext();) {
+ IXMLStructuredObject structuredObject = (IXMLStructuredObject) iterator.next();
+ if(structuredObject != null && structuredObject instanceof JavaBeanModel){
+ String name = ((JavaBeanModel)structuredObject).getName();
+ if(name != null){
+ if(name.toLowerCase().startsWith(contents.toLowerCase())){
+ list.add(new XMLStructuredModelProposal(structuredObject));
+ }
+ }
+ }
+ }
+
+ return list.toArray(new IContentProposal[]{});
+ }
+
+}
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/JavaPropertiesProposalProvider.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/JavaPropertyUtils.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/JavaPropertyUtils.java 2009-05-27
06:25:34 UTC (rev 15545)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/JavaPropertyUtils.java 2009-05-27
06:37:36 UTC (rev 15546)
@@ -26,6 +26,9 @@
}
public static Method[] getSetterMethods(Class<?> clazz){
+ if(clazz == null){
+ return new Method[]{};
+ }
Method[] methods = clazz.getMethods();
List<Method> mlist = new ArrayList<Method>();
for (int i = 0; i < methods.length; i++) {
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/MultiTextContentAdapter.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/MultiTextContentAdapter.java
(rev 0)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/MultiTextContentAdapter.java 2009-05-27
06:37:36 UTC (rev 15546)
@@ -0,0 +1,164 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.smooks.configuration.editors.uitls;
+
+import org.eclipse.jface.fieldassist.TextContentAdapter;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.graphics.Rectangle;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Text;
+
+/**
+ * @author Dart (dpeng(a)redhat.com)
+ *
+ */
+public class MultiTextContentAdapter extends TextContentAdapter {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.jface.fieldassist.TextContentAdapter#getControlContents(org
+ * .eclipse.swt.widgets.Control)
+ */
+ @Override
+ public String getControlContents(Control control) {
+ // TODO Auto-generated method stub
+ return super.getControlContents(control);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.jface.fieldassist.TextContentAdapter#getCursorPosition(org
+ * .eclipse.swt.widgets.Control)
+ */
+ @Override
+ public int getCursorPosition(Control control) {
+ // TODO Auto-generated method stub
+ return super.getCursorPosition(control);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.jface.fieldassist.TextContentAdapter#getInsertionBounds(org
+ * .eclipse.swt.widgets.Control)
+ */
+ @Override
+ public Rectangle getInsertionBounds(Control control) {
+ // TODO Auto-generated method stub
+ Rectangle re = super.getInsertionBounds(control);
+ return re;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.jface.fieldassist.TextContentAdapter#getSelection(org.eclipse
+ * .swt.widgets.Control)
+ */
+ @Override
+ public Point getSelection(Control control) {
+ // TODO Auto-generated method stub
+ return super.getSelection(control);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.jface.fieldassist.TextContentAdapter#insertControlContents
+ * (org.eclipse.swt.widgets.Control, java.lang.String, int)
+ */
+ @Override
+ public void insertControlContents(Control control, String text, int cursorPosition) {
+ Text te = (Text) control;
+ int caretPosition = te.getCaretPosition() - 1;
+ if (caretPosition < 0) {
+ caretPosition = 0;
+ }
+ String content = te.getText(0, caretPosition);
+ char[] chars = content.toCharArray();
+ int endIndex = 0;
+ for (int i = chars.length - 1; i > 0; i--) {
+ char c = chars[i];
+ if (c != ' ' && c != '\r' && c != '\n'
&& c != '\t' && Character.isLetterOrDigit(c)) {
+ continue;
+ }
+ endIndex = i;
+ break;
+ }
+ if (content.length() == 0) {
+ } else {
+ content = content.substring(endIndex + 1, content.length());
+ }
+ String all = te.getText();
+ String first="";
+ if(all.length() != 0){
+ first = all.substring(0, endIndex + 1);
+ }
+ if (endIndex == 0) {
+ first = "";
+ }
+ String second = "";
+ if(all.length() != 0){
+ second = all.substring(endIndex + 1 + content.length(), all.length());
+ }
+ if (all.length() == 1) {
+ second = "";
+ }
+ all = first + text + second;
+ te.setText(all);
+ ((Text) control).setSelection(cursorPosition, cursorPosition);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.jface.fieldassist.TextContentAdapter#setControlContents(org
+ * .eclipse.swt.widgets.Control, java.lang.String, int)
+ */
+ @Override
+ public void setControlContents(Control control, String text, int cursorPosition) {
+ super.setControlContents(control, text, cursorPosition);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.jface.fieldassist.TextContentAdapter#setCursorPosition(org
+ * .eclipse.swt.widgets.Control, int)
+ */
+ @Override
+ public void setCursorPosition(Control control, int position) {
+ // TODO Auto-generated method stub
+ super.setCursorPosition(control, position);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.jface.fieldassist.TextContentAdapter#setSelection(org.eclipse
+ * .swt.widgets.Control, org.eclipse.swt.graphics.Point)
+ */
+ @Override
+ public void setSelection(Control control, Point range) {
+ // TODO Auto-generated method stub
+ super.setSelection(control, range);
+ }
+}
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/MultiTextContentAdapter.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SelectorContentProposalProvider.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SelectorContentProposalProvider.java 2009-05-27
06:25:34 UTC (rev 15545)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SelectorContentProposalProvider.java 2009-05-27
06:37:36 UTC (rev 15546)
@@ -40,6 +40,9 @@
* .lang.String, int)
*/
public IContentProposal[] getProposals(String contents, int position) {
+ if(contents.indexOf("h") != -1){
+ System.out.println();
+ }
List<Object> list = SelectoreSelectionDialog.generateInputData(extType);
if(list == null || list.isEmpty()){
return new IContentProposal[]{};
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SetterMethodContentProposal.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SetterMethodContentProposal.java
(rev 0)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SetterMethodContentProposal.java 2009-05-27
06:37:36 UTC (rev 15546)
@@ -0,0 +1,61 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.smooks.configuration.editors.uitls;
+
+import java.lang.reflect.Method;
+
+import org.eclipse.jface.fieldassist.IContentProposal;
+
+/**
+ * @author Dart (dpeng(a)redhat.com)
+ *
+ */
+public class SetterMethodContentProposal implements IContentProposal {
+
+
+ private String content = null;
+
+ public SetterMethodContentProposal(Method method){
+ content = method.getName();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.fieldassist.IContentProposal#getContent()
+ */
+ public String getContent() {
+ return content;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.fieldassist.IContentProposal#getCursorPosition()
+ */
+ public int getCursorPosition() {
+ if(content != null){
+ return content.length();
+ }
+ return 0;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.fieldassist.IContentProposal#getDescription()
+ */
+ public String getDescription() {
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.fieldassist.IContentProposal#getLabel()
+ */
+ public String getLabel() {
+ return content;
+ }
+
+}
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SetterMethodContentProposal.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SetterMethodProposalProvider.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SetterMethodProposalProvider.java
(rev 0)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SetterMethodProposalProvider.java 2009-05-27
06:37:36 UTC (rev 15546)
@@ -0,0 +1,53 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.smooks.configuration.editors.uitls;
+
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.jface.fieldassist.IContentProposal;
+import org.eclipse.jface.fieldassist.IContentProposalProvider;
+
+/**
+ * @author Dart (dpeng(a)redhat.com)
+ *
+ */
+public class SetterMethodProposalProvider implements IContentProposalProvider {
+
+
+ private Method[] settMethods = null;
+
+ public SetterMethodProposalProvider(Class<?> clazz){
+ settMethods = JavaPropertyUtils.getSetterMethods(clazz);
+ }
+ /* (non-Javadoc)
+ * @see
org.eclipse.jface.fieldassist.IContentProposalProvider#getProposals(java.lang.String,
int)
+ */
+ public IContentProposal[] getProposals(String contents, int position) {
+ if(settMethods == null || settMethods.length == 0){
+ return new IContentProposal[]{};
+ }
+
+ List<IContentProposal> list = new ArrayList<IContentProposal>();
+ for (int i = 0; i < settMethods.length; i++) {
+ Method m = settMethods[i];
+ String n = m.getName();
+ if(n != null){
+ if(n.toLowerCase().startsWith(contents)){
+ list.add(new SetterMethodContentProposal(m));
+ }
+ }
+ }
+ return list.toArray(new IContentProposal[]{});
+ }
+
+}
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SetterMethodProposalProvider.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SmooksUIUtils.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SmooksUIUtils.java 2009-05-27
06:25:34 UTC (rev 15545)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SmooksUIUtils.java 2009-05-27
06:37:36 UTC (rev 15546)
@@ -52,6 +52,7 @@
import org.eclipse.jface.fieldassist.ControlDecoration;
import org.eclipse.jface.fieldassist.FieldDecoration;
import org.eclipse.jface.fieldassist.FieldDecorationRegistry;
+import org.eclipse.jface.fieldassist.IContentProposal;
import org.eclipse.jface.fieldassist.IContentProposalListener;
import org.eclipse.jface.fieldassist.IContentProposalListener2;
import org.eclipse.jface.fieldassist.IContentProposalProvider;
@@ -105,16 +106,20 @@
import org.jboss.tools.smooks.configuration.editors.CurrentProjecViewerFilter;
import org.jboss.tools.smooks.configuration.editors.FieldMarkerComposite;
import org.jboss.tools.smooks.configuration.editors.FileSelectionWizard;
+import org.jboss.tools.smooks.configuration.editors.GraphicsConstants;
import org.jboss.tools.smooks.configuration.editors.IXMLStructuredObject;
import org.jboss.tools.smooks.configuration.editors.OpenFileHyperLinkListener;
import org.jboss.tools.smooks.configuration.editors.SelectorAttributes;
import org.jboss.tools.smooks.configuration.editors.SelectoreSelectionDialog;
+import org.jboss.tools.smooks.configuration.editors.javabean.JavaBeanModel;
import org.jboss.tools.smooks.configuration.editors.javabean.JavaMethodsSelectionDialog;
import
org.jboss.tools.smooks.configuration.editors.javabean.JavaPropertiesSelectionDialog;
+import org.jboss.tools.smooks.core.SmooksCoreActivator;
import org.jboss.tools.smooks.model.graphics.ext.DocumentRoot;
import org.jboss.tools.smooks.model.graphics.ext.SmooksGraphicsExtType;
import
org.jboss.tools.smooks.model.graphics.ext.util.SmooksGraphicsExtResourceFactoryImpl;
import org.jboss.tools.smooks.model.javabean.BindingsType;
+import org.jboss.tools.smooks.model.javabean.provider.Javabean1EditPlugin;
import org.jboss.tools.smooks.model.smooks.AbstractResourceConfig;
import org.jboss.tools.smooks.model.smooks.ConditionType;
import org.jboss.tools.smooks.model.smooks.SmooksResourceListType;
@@ -150,7 +155,10 @@
public static final String[] SELECTOR_SPERATORS = new String[] { " ",
"/" };
- public static List<String> getBeanIdList(SmooksResourceListType resourceList) {
+ public static List<String> getBeanIdStringList(SmooksResourceListType
resourceList) {
+ if (resourceList == null) {
+ return null;
+ }
List<AbstractResourceConfig> rlist = resourceList.getAbstractResourceConfig();
List<String> beanIdList = new ArrayList<String>();
for (Iterator<?> iterator = rlist.iterator(); iterator.hasNext();) {
@@ -165,6 +173,21 @@
return beanIdList;
}
+ public static List<BindingsType> getBeanIdList(SmooksResourceListType
resourceList) {
+ if (resourceList == null) {
+ return null;
+ }
+ List<AbstractResourceConfig> rlist = resourceList.getAbstractResourceConfig();
+ List<BindingsType> beanIdList = new ArrayList<BindingsType>();
+ for (Iterator<?> iterator = rlist.iterator(); iterator.hasNext();) {
+ AbstractResourceConfig abstractResourceConfig = (AbstractResourceConfig)
iterator.next();
+ if (abstractResourceConfig instanceof BindingsType) {
+ beanIdList.add((BindingsType) abstractResourceConfig);
+ }
+ }
+ return beanIdList;
+ }
+
public static void createMixedTextFieldEditor(String label, AdapterFactoryEditingDomain
editingdomain,
FormToolkit toolkit, Composite parent, Object model, boolean linkLabel,
IHyperlinkListener listener) {
createMixedTextFieldEditor(label, editingdomain, toolkit, parent, model, false, 0,
linkLabel, false, listener,
@@ -564,9 +587,9 @@
}
if (editValue != null && valueIsSet) {
valueText.setText(editValue);
-// if (editValue.length() > 0 && section != null) {
-// section.setExpanded(true);
-// }
+ // if (editValue.length() > 0 && section != null) {
+ // section.setExpanded(true);
+ // }
}
if (valueType == VALUE_TYPE_TEXT && model instanceof AnyType &&
fEditingDomain != null) {
valueText.addModifyListener(new ModifyListener() {
@@ -579,7 +602,11 @@
SmooksModelUtils.setTextToSmooksType(fEditingDomain, (AnyType) fm, null);
} else {
if (!valueText.getText().equals(text)) {
- SmooksModelUtils.setTextToSmooksType(fEditingDomain, (AnyType) fm,
valueText.getText());
+ String vt = valueText.getText();
+ if (vt != null) {
+ vt = vt.replaceAll("\r", "");
+ }
+ SmooksModelUtils.setTextToSmooksType(fEditingDomain, (AnyType) fm, vt);
}
}
}
@@ -596,7 +623,11 @@
SmooksModelUtils.setCommentToSmooksType(fEditingDomain, (AnyType) fm, null);
} else {
if (!valueText.getText().equals(text)) {
- SmooksModelUtils.setCommentToSmooksType(fEditingDomain, (AnyType) fm,
valueText.getText());
+ String vt = valueText.getText();
+ if (vt != null) {
+ vt = vt.replaceAll("\r", "");
+ }
+ SmooksModelUtils.setCommentToSmooksType(fEditingDomain, (AnyType) fm, vt);
}
}
}
@@ -613,7 +644,11 @@
SmooksModelUtils.setCDATAToSmooksType(fEditingDomain, (AnyType) fm, null);
} else {
if (!valueText.getText().equals(text)) {
- SmooksModelUtils.setCDATAToSmooksType(fEditingDomain, (AnyType) fm,
valueText.getText());
+ String vt = valueText.getText();
+ if (vt != null) {
+ vt = vt.replaceAll("\r", "");
+ }
+ SmooksModelUtils.setCDATAToSmooksType(fEditingDomain, (AnyType) fm, vt);
}
}
}
@@ -720,12 +755,12 @@
return createStringFieldEditor(label, parent, editingdomain, toolkit, null, model,
true, true, false, 300,
null, VALUE_TYPE_CDATA, action);
}
-
+
public static AttributeFieldEditPart createCDATAFieldEditor(String label,
AdapterFactoryEditingDomain editingdomain, FormToolkit toolkit, Composite parent,
Object model,
- OpenEditorEditInnerContentsAction action,boolean expanedEditor) {
+ OpenEditorEditInnerContentsAction action, boolean expanedEditor) {
return createStringFieldEditor(label, parent, editingdomain, toolkit, null, model,
true, true, false, 300,
- null, VALUE_TYPE_CDATA, action,expanedEditor);
+ null, VALUE_TYPE_CDATA, action, expanedEditor);
}
public static AttributeFieldEditPart createCommentFieldEditor(String label,
@@ -734,12 +769,12 @@
return createStringFieldEditor(label, parent, editingdomain, toolkit, null, model,
true, true, false, 300,
null, VALUE_TYPE_COMMENT, action);
}
-
+
public static AttributeFieldEditPart createCommentFieldEditor(String label,
AdapterFactoryEditingDomain editingdomain, FormToolkit toolkit, Composite parent,
Object model,
- OpenEditorEditInnerContentsAction action,boolean expandEditor) {
+ OpenEditorEditInnerContentsAction action, boolean expandEditor) {
return createStringFieldEditor(label, parent, editingdomain, toolkit, null, model,
true, true, false, 300,
- null, VALUE_TYPE_COMMENT, action,expandEditor);
+ null, VALUE_TYPE_COMMENT, action, expandEditor);
}
public static AttributeFieldEditPart createJavaTypeSearchFieldEditor(Composite parent,
FormToolkit toolkit,
@@ -784,8 +819,7 @@
notificationComposite.setLayoutData(gd);
editpart.setFieldMarker(notificationComposite);
- final SearchComposite searchComposite = new SearchComposite(tcom, toolkit,
"Search Class", dialog,
- SWT.NONE);
+ final SearchComposite searchComposite = new SearchComposite(tcom, toolkit,
"Browse", dialog, SWT.NONE);
gd = new GridData(GridData.FILL_HORIZONTAL);
searchComposite.setLayoutData(gd);
Object editValue = getEditValue(propertyDescriptor, model);
@@ -874,7 +908,11 @@
}
public static IResource getResource(EObject model) {
+ if (model == null)
+ return null;
final Resource resource = ((EObject) model).eResource();
+ if (resource == null)
+ return null;
URI uri = resource.getURI();
IResource workspaceResource = null;
if (uri.isPlatformResource()) {
@@ -898,16 +936,40 @@
final EObject model) {
String classString = ((BindingsType) container).getClass_();
IJavaProject project = getJavaProject(container);
+ Class<?> clazz = null;
try {
ProjectClassLoader classLoader = new ProjectClassLoader(project);
- Class<?> clazz = classLoader.loadClass(classString);
- JavaMethodsSelectionDialog dialog = new JavaMethodsSelectionDialog(project, clazz);
- return SmooksUIUtils.createDialogFieldEditor(parent, toolkit, propertyDescriptor,
"Select method", dialog,
- (EObject) model);
+ clazz = classLoader.loadClass(classString);
} catch (Exception e) {
// ignore
}
- return null;
+ JavaMethodsSelectionDialog dialog = new JavaMethodsSelectionDialog(project, clazz);
+ AttributeFieldEditPart editPart = SmooksUIUtils.createDialogFieldEditor(parent,
toolkit, propertyDescriptor,
+ buttonName, dialog, (EObject) model);
+
+ Control c = editPart.getContentControl();
+ if (c instanceof SearchComposite) {
+ Text text = ((SearchComposite) c).getText();
+ IResource resource = getResource(model);
+ if (resource != null) {
+ final FieldAssistDisposer disposer = addJavaSetterMethodFieldAssistToText(text,
clazz);
+ text.addDisposeListener(new DisposeListener() {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.swt.events.DisposeListener#widgetDisposed
+ * (org.eclipse.swt.events.DisposeEvent)
+ */
+ public void widgetDisposed(DisposeEvent e) {
+ disposer.dispose();
+ }
+
+ });
+ }
+ }
+ return editPart;
}
public static String generateFullPath(IXMLStructuredObject node, final String sperator)
{
@@ -1095,16 +1157,33 @@
final EObject model) {
String classString = ((BindingsType) container).getClass_();
IJavaProject project = getJavaProject(container);
- try {
- ProjectClassLoader classLoader = new ProjectClassLoader(project);
- Class<?> clazz = classLoader.loadClass(classString);
- JavaPropertiesSelectionDialog dialog = new JavaPropertiesSelectionDialog(project,
clazz);
- return SmooksUIUtils.createDialogFieldEditor(parent, toolkit, propertyDescriptor,
"Select property",
- dialog, (EObject) model);
- } catch (Exception e) {
- // ignore
+ JavaPropertiesSelectionDialog dialog = new JavaPropertiesSelectionDialog(project,
classString);
+ AttributeFieldEditPart editPart = SmooksUIUtils.createDialogFieldEditor(parent,
toolkit, propertyDescriptor,
+ buttonName, dialog, (EObject) model);
+ Control c = editPart.getContentControl();
+ if (c instanceof SearchComposite) {
+ Text text = ((SearchComposite) c).getText();
+ IResource resource = getResource(model);
+ if (resource != null) {
+ final FieldAssistDisposer disposer = addJavaPropertiesFieldAssistToText(text,
resource.getProject(),
+ classString);
+ text.addDisposeListener(new DisposeListener() {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.swt.events.DisposeListener#widgetDisposed
+ * (org.eclipse.swt.events.DisposeEvent)
+ */
+ public void widgetDisposed(DisposeEvent e) {
+ disposer.dispose();
+ }
+
+ });
+ }
}
- return null;
+ return editPart;
}
public static Object getEditValue(IItemPropertyDescriptor propertyDescriptor, Object
model) {
@@ -1382,6 +1461,169 @@
}
+ public static FieldAssistDisposer addJavaPropertiesFieldAssistToText(Text text, IProject
project, String className) {
+ // Decorate the text widget with the light-bulb image denoting content
+ // assist
+ int bits = SWT.DOWN | SWT.LEFT;
+ ControlDecoration controlDecoration = new ControlDecoration(text, bits);
+ // Configure text widget decoration
+ // No margin
+ controlDecoration.setMarginWidth(0);
+ // Custom hover tip text
+ if (isLinuxOS()) {
+ controlDecoration.setDescriptionText("Content Assist Available (Ctrl +
space)");
+ } else {
+ controlDecoration.setDescriptionText("Content Assist Available (Alt + /)");
+ }
+ // Custom hover properties
+ controlDecoration.setShowHover(true);
+ controlDecoration.setShowOnlyOnFocus(true);
+ // Hover image to use
+ FieldDecoration contentProposalImage =
FieldDecorationRegistry.getDefault().getFieldDecoration(
+ FieldDecorationRegistry.DEC_CONTENT_PROPOSAL);
+ controlDecoration.setImage(contentProposalImage.getImage());
+
+ // Default text widget adapter for field assist
+ TextContentAdapter textContentAdapter = new TextContentAdapter();
+ // Content assist command
+ String command = "org.eclipse.ui.edit.text.contentAssist.proposals";
//$NON-NLS-1$
+
+ // Create the proposal provider
+ JavaPropertiesProposalProvider proposalProvider = new
JavaPropertiesProposalProvider(project, className);
+ // Create the adapter
+ ContentAssistCommandAdapter adapter = new ContentAssistCommandAdapter(text,
textContentAdapter,
+ proposalProvider, command, allEnglishCharas);
+ // Configure the adapter
+ // Add label provider
+ ILabelProvider labelProvider = new LabelProvider() {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.jface.viewers.LabelProvider#getText(java.lang.Object)
+ */
+ @Override
+ public String getText(Object element) {
+ if (element instanceof XMLStructuredModelProposal) {
+ return ((XMLStructuredModelProposal) element).getLabel();
+ }
+ return super.getText(element);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.jface.viewers.LabelProvider#getImage(java.lang.Object
+ * )
+ */
+ @Override
+ public Image getImage(Object element) {
+ if (element instanceof XMLStructuredModelProposal) {
+ if (((XMLStructuredModelProposal) element).getXmlStructuredObject() instanceof
JavaBeanModel) {
+ return SmooksConfigurationActivator.getDefault().getImageRegistry().get(
+ GraphicsConstants.IMAGE_JAVA_ATTRIBUTE);
+ }
+ }
+ return super.getImage(element);
+ }
+
+ };
+ adapter.setLabelProvider(labelProvider);
+ // Replace text field contents with accepted proposals
+ adapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE);
+ // Disable default filtering - custom filtering done
+ adapter.setFilterStyle(ContentProposalAdapter.FILTER_NONE);
+ // Add listeners required to reset state for custom filtering
+ SelectorConentProposalListener proposalListener = new
SelectorConentProposalListener();
+ adapter.addContentProposalListener((IContentProposalListener) proposalListener);
+ adapter.addContentProposalListener((IContentProposalListener2) proposalListener);
+
+ return new FieldAssistDisposer(adapter, (IContentProposalListener) proposalListener,
+ (IContentProposalListener2) proposalListener);
+
+ }
+
+ public static FieldAssistDisposer addJavaSetterMethodFieldAssistToText(Text text,
Class<?> clazz) {
+ // Decorate the text widget with the light-bulb image denoting content
+ // assist
+ int bits = SWT.DOWN | SWT.LEFT;
+ ControlDecoration controlDecoration = new ControlDecoration(text, bits);
+ // Configure text widget decoration
+ // No margin
+ controlDecoration.setMarginWidth(0);
+ // Custom hover tip text
+ if (isLinuxOS()) {
+ controlDecoration.setDescriptionText("Content Assist Available (Ctrl +
space)");
+ } else {
+ controlDecoration.setDescriptionText("Content Assist Available (Alt + /)");
+ }
+ // Custom hover properties
+ controlDecoration.setShowHover(true);
+ controlDecoration.setShowOnlyOnFocus(true);
+ // Hover image to use
+ FieldDecoration contentProposalImage =
FieldDecorationRegistry.getDefault().getFieldDecoration(
+ FieldDecorationRegistry.DEC_CONTENT_PROPOSAL);
+ controlDecoration.setImage(contentProposalImage.getImage());
+
+ // Default text widget adapter for field assist
+ TextContentAdapter textContentAdapter = new TextContentAdapter();
+ // Content assist command
+ String command = "org.eclipse.ui.edit.text.contentAssist.proposals";
//$NON-NLS-1$
+
+ // Create the proposal provider
+ SetterMethodProposalProvider proposalProvider = new
SetterMethodProposalProvider(clazz);
+ // Create the adapter
+ ContentAssistCommandAdapter adapter = new ContentAssistCommandAdapter(text,
textContentAdapter,
+ proposalProvider, command, allEnglishCharas);
+ // Configure the adapter
+ // Add label provider
+ ILabelProvider labelProvider = new LabelProvider() {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.jface.viewers.LabelProvider#getText(java.lang.Object)
+ */
+ @Override
+ public String getText(Object element) {
+ if (element instanceof SetterMethodContentProposal) {
+ return ((SetterMethodContentProposal) element).getLabel();
+ }
+ return super.getText(element);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.jface.viewers.LabelProvider#getImage(java.lang.Object
+ * )
+ */
+ @Override
+ public Image getImage(Object element) {
+ return SmooksConfigurationActivator.getDefault().getImageRegistry().get(
+ GraphicsConstants.IMAGE_JAVA_ATTRIBUTE);
+ }
+
+ };
+ adapter.setLabelProvider(labelProvider);
+ // Replace text field contents with accepted proposals
+ adapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE);
+ // Disable default filtering - custom filtering done
+ adapter.setFilterStyle(ContentProposalAdapter.FILTER_NONE);
+ // Add listeners required to reset state for custom filtering
+ SelectorConentProposalListener proposalListener = new
SelectorConentProposalListener();
+ adapter.addContentProposalListener((IContentProposalListener) proposalListener);
+ adapter.addContentProposalListener((IContentProposalListener2) proposalListener);
+
+ return new FieldAssistDisposer(adapter, (IContentProposalListener) proposalListener,
+ (IContentProposalListener2) proposalListener);
+
+ }
+
public static FieldAssistDisposer addBeanIdRefAssistToCombo(Combo combo, EObject model)
{
// Decorate the text widget with the light-bulb image denoting content
// assist
@@ -1432,6 +1674,100 @@
(IContentProposalListener2) proposalListener);
}
+ public static FieldAssistDisposer addBindingsContextAssistToText(Text text,
SmooksResourceListType model) {
+ // Decorate the text widget with the light-bulb image denoting content
+ // assist
+ int bits = SWT.CENTER | SWT.LEFT;
+ ControlDecoration controlDecoration = new ControlDecoration(text, bits);
+ // Configure text widget decoration
+ // No margin
+ controlDecoration.setMarginWidth(0);
+ // Custom hover tip text
+ if (isLinuxOS()) {
+ controlDecoration.setDescriptionText("Content Assist Available (Ctrl +
space)");
+ } else {
+ controlDecoration.setDescriptionText("Content Assist Available (Alt + /)");
+ }
+ // Custom hover properties
+ controlDecoration.setShowHover(true);
+ controlDecoration.setShowOnlyOnFocus(true);
+ // Hover image to use
+ FieldDecoration contentProposalImage =
FieldDecorationRegistry.getDefault().getFieldDecoration(
+ FieldDecorationRegistry.DEC_CONTENT_PROPOSAL);
+ controlDecoration.setImage(contentProposalImage.getImage());
+
+ // Default text widget adapter for field assist
+ MultiTextContentAdapter textContentAdapter = new MultiTextContentAdapter();
+ // Content assist command
+ String command = "org.eclipse.ui.edit.text.contentAssist.proposals";
//$NON-NLS-1$
+ // Set auto activation character to be a '.'
+
+ // Create the proposal provider
+ BindingsContextProposalProvider proposalProvider = new
BindingsContextProposalProvider(model, text);
+ // Create the adapter
+ char[] chars = new char[allEnglishCharas.length + 1];
+ System.arraycopy(allEnglishCharas, 0, chars, 0, allEnglishCharas.length);
+ chars[chars.length - 1] = '.';
+ ContentAssistCommandAdapter adapter = new ContentAssistCommandAdapter(text,
textContentAdapter,
+ proposalProvider, command, chars);
+ // Configure the adapter
+ // Add label provider
+ ILabelProvider labelProvider = new LabelProvider() {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.jface.viewers.LabelProvider#getImage(java.lang.Object
+ * )
+ */
+ @Override
+ public Image getImage(Object element) {
+ if (element instanceof BindingsContextContentProposal) {
+ int type = ((BindingsContextContentProposal) element).getType();
+ switch (type) {
+ case BindingsContextContentProposal.BINDINGS:
+ return
SmooksCoreActivator.getDefault().getImageRegistry().get("BindingsType");
+ case BindingsContextContentProposal.EXPRESSIONS:
+ return
SmooksCoreActivator.getDefault().getImageRegistry().get("ExpressionType");
+ case BindingsContextContentProposal.PROPERTIES:
+ return
SmooksCoreActivator.getDefault().getImageRegistry().get("ValueType");
+ case BindingsContextContentProposal.WIRTINGS:
+ return
SmooksCoreActivator.getDefault().getImageRegistry().get("WiringType");
+ }
+ }
+ return super.getImage(element);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.jface.viewers.LabelProvider#getText(java.lang.Object)
+ */
+ @Override
+ public String getText(Object element) {
+ if (element instanceof IContentProposal) {
+ return ((IContentProposal) element).getLabel();
+ }
+ return super.getText(element);
+ }
+
+ };
+ adapter.setLabelProvider(labelProvider);
+ // Replace text field contents with accepted proposals
+ adapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_INSERT);
+ // Disable default filtering - custom filtering done
+ adapter.setFilterStyle(ContentProposalAdapter.FILTER_NONE);
+ // Add listeners required to reset state for custom filtering
+ SelectorConentProposalListener proposalListener = new
SelectorConentProposalListener();
+ adapter.addContentProposalListener((IContentProposalListener) proposalListener);
+ adapter.addContentProposalListener((IContentProposalListener2) proposalListener);
+
+ return new FieldAssistDisposer(adapter, (IContentProposalListener) proposalListener,
+ (IContentProposalListener2) proposalListener);
+ }
+
public static TypeFieldAssistDisposer addTypeFieldAssistToText(Text text, IProject
project, int searchScope) {
// Decorate the text widget with the light-bulb image denoting content
// assist
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/XMLStructuredModelProposal.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/XMLStructuredModelProposal.java
(rev 0)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/XMLStructuredModelProposal.java 2009-05-27
06:37:36 UTC (rev 15546)
@@ -0,0 +1,83 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.smooks.configuration.editors.uitls;
+
+import org.eclipse.jface.fieldassist.IContentProposal;
+import org.jboss.tools.smooks.configuration.editors.IXMLStructuredObject;
+import org.jboss.tools.smooks.configuration.editors.javabean.JavaBeanModel;
+
+/**
+ * @author Dart (dpeng(a)redhat.com)
+ *
+ */
+public class XMLStructuredModelProposal implements IContentProposal {
+
+ private IXMLStructuredObject xmlStructuredObject;
+
+ private String content = null;
+
+ public XMLStructuredModelProposal(IXMLStructuredObject xmlStructuredObject){
+ this.xmlStructuredObject = xmlStructuredObject;
+ content = this.xmlStructuredObject.getNodeName();
+ if(xmlStructuredObject instanceof JavaBeanModel){
+ content = ((JavaBeanModel)this.xmlStructuredObject).getName();
+ }
+ }
+
+
+ /**
+ * @return the xmlStructuredObject
+ */
+ public IXMLStructuredObject getXmlStructuredObject() {
+ return xmlStructuredObject;
+ }
+
+
+ /**
+ * @param xmlStructuredObject the xmlStructuredObject to set
+ */
+ public void setXmlStructuredObject(IXMLStructuredObject xmlStructuredObject) {
+ this.xmlStructuredObject = xmlStructuredObject;
+ }
+
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.fieldassist.IContentProposal#getContent()
+ */
+ public String getContent() {
+ return content;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.fieldassist.IContentProposal#getCursorPosition()
+ */
+ public int getCursorPosition() {
+ if(content != null){
+ return content.length();
+ }
+ return 0;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.fieldassist.IContentProposal#getDescription()
+ */
+ public String getDescription() {
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.fieldassist.IContentProposal#getLabel()
+ */
+ public String getLabel() {
+ return content;
+ }
+
+}
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/XMLStructuredModelProposal.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/AbstractValidator.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/AbstractValidator.java 2009-05-27
06:25:34 UTC (rev 15545)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/AbstractValidator.java 2009-05-27
06:37:36 UTC (rev 15546)
@@ -23,52 +23,57 @@
/**
* @author Dart (dpeng(a)redhat.com)
- *
+ *
*/
public abstract class AbstractValidator implements ISmooksValidator {
-
-
- /* (non-Javadoc)
- * @see
org.jboss.tools.smooks.configuration.validate.ISmooksValidator#validate(java.util.Collection,
org.eclipse.emf.edit.domain.EditingDomain)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.jboss.tools.smooks.configuration.validate.ISmooksValidator#validate
+ * (java.util.Collection, org.eclipse.emf.edit.domain.EditingDomain)
*/
public List<Diagnostic> validate(Collection<?> selectedObjects,
EditingDomain editingDomain) {
preStartValidation();
List<Diagnostic> list = new ArrayList<Diagnostic>();
- for (Iterator<?> iterator = selectedObjects.iterator(); iterator.hasNext();) {
- Object object = (Object) iterator.next();
- Diagnostic d = validateModel(object, editingDomain);
- if(d != null){
- list.add(d);
- }
- if (object instanceof EObject) {
- List<Diagnostic> dd = validate(((EObject) object).eContents(),editingDomain);
- if (dd != null) {
- list.addAll(dd);
+ try {
+ for (Iterator<?> iterator = selectedObjects.iterator(); iterator.hasNext();) {
+ Object object = (Object) iterator.next();
+ Diagnostic d = validateModel(object, editingDomain);
+ if (d != null) {
+ list.add(d);
}
+ if (object instanceof EObject) {
+ List<Diagnostic> dd = validate(((EObject) object).eContents(),
editingDomain);
+ if (dd != null) {
+ list.addAll(dd);
+ }
+ }
}
+ } catch (Throwable t) {
+
}
return list;
}
-
- protected void preStartValidation(){
-
- }
- protected Diagnostic newDiagnostic(int severity , String message , Object model,
EAttribute property){
- return new BasicDiagnostic(severity, "org.jboss.tools", 0, message, new
Object[] {
- model, property });
+ protected void preStartValidation() {
+
}
-
- protected Diagnostic newWaringDiagnostic(String message , Object model, EAttribute
property){
+
+ protected Diagnostic newDiagnostic(int severity, String message, Object model,
EAttribute property) {
+ return new BasicDiagnostic(severity, "org.jboss.tools", 0, message, new
Object[] { model, property });
+ }
+
+ protected Diagnostic newWaringDiagnostic(String message, Object model, EAttribute
property) {
return newDiagnostic(Diagnostic.WARNING, message, model, property);
}
-
- protected Diagnostic newErrorDiagnostic(String message , Object model, EAttribute
property){
+
+ protected Diagnostic newErrorDiagnostic(String message, Object model, EAttribute
property) {
return newDiagnostic(Diagnostic.ERROR, message, model, property);
}
-
- protected Diagnostic validateModel(Object model , EditingDomain editingDomain){
+
+ protected Diagnostic validateModel(Object model, EditingDomain editingDomain) {
return null;
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/BeanIdRefValidator.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/BeanIdRefValidator.java 2009-05-27
06:25:34 UTC (rev 15545)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/BeanIdRefValidator.java 2009-05-27
06:37:36 UTC (rev 15546)
@@ -58,7 +58,7 @@
Object obj = resource.getContents().get(0);
if (obj instanceof DocumentRoot) {
SmooksResourceListType listType = ((DocumentRoot) obj).getSmooksResourceList();
- List<String> ids = SmooksUIUtils.getBeanIdList(listType);
+ List<String> ids = SmooksUIUtils.getBeanIdStringList(listType);
idList.addAll(ids);
}
if (idList.isEmpty()) {
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/SmooksModelValidator.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/SmooksModelValidator.java 2009-05-27
06:25:34 UTC (rev 15545)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/SmooksModelValidator.java 2009-05-27
06:37:36 UTC (rev 15546)
@@ -282,7 +282,6 @@
@Override
public ValidationResult validate(IResource resource, int kind, ValidationState state,
IProgressMonitor monitor) {
- System.out.println("validate file : " + resource.getFullPath().toString() +
", change type is " + kind);
AdapterFactoryEditingDomain editingDomain = newEditingDomain();
if (editingDomain == null)
return null;
@@ -324,6 +323,5 @@
}
public void validate(IValidationContext helper, IReporter reporter) throws
ValidationException {
- System.out.println("validate helper");
}
}