Author: DartPeng
Date: 2010-01-22 03:17:31 -0500 (Fri, 22 Jan 2010)
New Revision: 19874
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/INumberParser.java
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/ModelPanelCreator.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/SmooksStuffPropertyDetailPage.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/csv12/Csv12ReaderUICreator.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SmooksUIUtils.java
Log:
JBIDE-5422
done
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/ModelPanelCreator.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/ModelPanelCreator.java 2010-01-21
23:59:06 UTC (rev 19873)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/ModelPanelCreator.java 2010-01-22
08:17:31 UTC (rev 19874)
@@ -11,6 +11,7 @@
package org.jboss.tools.smooks.configuration.editors;
import java.lang.reflect.Method;
+import java.math.BigInteger;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
@@ -30,6 +31,7 @@
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.forms.widgets.FormToolkit;
import org.jboss.tools.smooks.configuration.editors.uitls.IModelProcsser;
+import org.jboss.tools.smooks.configuration.editors.uitls.INumberParser;
import org.jboss.tools.smooks.configuration.editors.uitls.SmooksUIUtils;
import org.jboss.tools.smooks.editor.ISmooksModelProvider;
import org.jboss.tools.smooks.model.common.AbstractAnyType;
@@ -202,26 +204,32 @@
if (createDefault) {
EClassifier typeClazz = feature.getEType();
boolean hasCreated = false;
+ Class<?> instanceClass = typeClazz.getInstanceClass();
if (typeClazz instanceof EEnum) {
editPart = createEnumFieldEditor(formToolkit, model, detailsComposite, feature,
(EEnum) typeClazz,
formToolkit, itemPropertyDescriptor);
hasCreated = true;
}
- if (typeClazz.getInstanceClass() == String.class) {
+ if (instanceClass == String.class) {
editPart = createStringFieldEditor(model, detailsComposite, feature, formToolkit,
itemPropertyDescriptor);
hasCreated = true;
}
- if (typeClazz.getInstanceClass() == Boolean.class || typeClazz.getInstanceClass() ==
boolean.class) {
+ if (instanceClass == Boolean.class || instanceClass == boolean.class) {
editPart = createBooleanFieldEditor(model, detailsComposite, feature, formToolkit,
itemPropertyDescriptor);
hasCreated = true;
}
- if (typeClazz.getInstanceClass() == Integer.class || typeClazz.getInstanceClass() ==
int.class) {
+ if (instanceClass == Integer.class || instanceClass == int.class) {
editPart = createIntegerFieldEditor(model, detailsComposite, feature, formToolkit,
itemPropertyDescriptor);
hasCreated = true;
}
+ if(Number.class.isAssignableFrom(instanceClass)){
+ editPart = createBigIntegerFieldEditor(model, detailsComposite, feature,
formToolkit,
+ itemPropertyDescriptor);
+ hasCreated = true;
+ }
if (!hasCreated) {
// createStringFieldEditor(detailsComposite, feature,
// formToolkit,
@@ -232,10 +240,27 @@
return editPart;
}
+ protected AttributeFieldEditPart createBigIntegerFieldEditor(Object model, final
Composite propertyComposite,
+ EAttribute feature, FormToolkit formToolKit, final IItemPropertyDescriptor
itemPropertyDescriptor) {
+ return SmooksUIUtils.createNumberFieldEditor(null, propertyComposite, formToolKit,
itemPropertyDescriptor,
+ model , new INumberParser() {
+
+ public Object transformText(String text) {
+ return BigInteger.valueOf(Long.parseLong(text));
+ }
+ });
+ }
+
protected AttributeFieldEditPart createIntegerFieldEditor(Object model, final Composite
propertyComposite,
EAttribute feature, FormToolkit formToolKit, final IItemPropertyDescriptor
itemPropertyDescriptor) {
return SmooksUIUtils.createNumberFieldEditor(null, propertyComposite, formToolKit,
itemPropertyDescriptor,
- model);
+ model , new INumberParser() {
+
+ public Object transformText(String text) {
+
+ return Integer.parseInt(text);
+ }
+ });
}
protected AttributeFieldEditPart createEnumFieldEditor(FormToolkit formToolkit, final
EObject model,
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 2010-01-21
23:59:06 UTC (rev 19873)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/PropertyUICreator.java 2010-01-22
08:17:31 UTC (rev 19874)
@@ -101,6 +101,20 @@
if (feature == SmooksPackage.eINSTANCE.getAbstractReader_TargetProfile()) {
}
+// EClassifier typeClazz = feature.getEType();
+// if (typeClazz instanceof EEnum) {
+// return createEnumFieldEditor(detailsComposite, feature, (EEnum) typeClazz,
formToolkit,
+// itemPropertyDescriptor);
+// }
+// if (typeClazz.getInstanceClass() == String.class) {
+// return createStringFieldEditor(detailsComposite, feature, formToolkit,
itemPropertyDescriptor);
+// }
+// if (typeClazz.getInstanceClass() == Boolean.class || typeClazz.getInstanceClass() ==
boolean.class) {
+// return createBooleanFieldEditor(detailsComposite, feature, formToolkit,
itemPropertyDescriptor);
+// }
+// if (typeClazz.getInstanceClass() == Integer.class || typeClazz.getInstanceClass() ==
int.class) {
+// return createIntegerFieldEditor(detailsComposite, feature, formToolkit,
itemPropertyDescriptor);
+// }
return null;
}
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 2010-01-21
23:59:06 UTC (rev 19873)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksStuffPropertyDetailPage.java 2010-01-22
08:17:31 UTC (rev 19874)
@@ -40,6 +40,7 @@
import org.eclipse.ui.forms.widgets.FormToolkit;
import org.eclipse.ui.forms.widgets.Section;
import org.jboss.tools.smooks.configuration.editors.uitls.IModelProcsser;
+import org.jboss.tools.smooks.configuration.editors.uitls.INumberParser;
import org.jboss.tools.smooks.configuration.editors.uitls.SmooksUIUtils;
import org.jboss.tools.smooks.configuration.validate.ISmooksModelValidateListener;
import org.jboss.tools.smooks.editor.AbstractSmooksFormEditor;
@@ -367,7 +368,13 @@
FormToolkit formToolKit, final IItemPropertyDescriptor itemPropertyDescriptor) {
return SmooksUIUtils.createNumberFieldEditor(null, propertyComposite, formToolKit,
itemPropertyDescriptor,
- getModel());
+ getModel(), new INumberParser() {
+
+ public Object transformText(String text) {
+
+ return Integer.parseInt(text);
+ }
+ } );
}
/*
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/csv12/Csv12ReaderUICreator.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/csv12/Csv12ReaderUICreator.java 2010-01-21
23:59:06 UTC (rev 19873)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/csv12/Csv12ReaderUICreator.java 2010-01-22
08:17:31 UTC (rev 19874)
@@ -44,6 +44,7 @@
import org.jboss.tools.smooks.model.csv12.CSV12Reader;
import org.jboss.tools.smooks.model.csv12.Csv12Package;
import org.jboss.tools.smooks.model.csv12.MapBinding;
+import org.jboss.tools.smooks.model.smooks.SmooksPackage;
/**
* @author Dart Peng (dpeng(a)redhat.com) Date Apr 10, 2009
@@ -62,7 +63,6 @@
public AttributeFieldEditPart createPropertyUI(FormToolkit toolkit, Composite parent,
IItemPropertyDescriptor propertyDescriptor, Object model, EAttribute feature,
ISmooksModelProvider formEditor, IEditorPart part) {
-
return super.createPropertyUI(toolkit, parent, propertyDescriptor, model, feature,
formEditor, part);
}
@@ -79,12 +79,19 @@
FormToolkit toolkit, Composite parent, Object model, ISmooksModelProvider formEditor,
IEditorPart editorPart) {
// createFiledsComposite(editingdomain, toolkit, parent, model,
// formEditor);
- createParametersGroup(parent, (CSV12Reader) model, toolkit, formEditor, editorPart);
+ // createParametersGroup(parent, (CSV12Reader) model, toolkit,
+ // formEditor, editorPart);
return super.createExtendUIOnBottom(editingdomain, toolkit, parent, model, formEditor,
editorPart);
}
@Override
public boolean ignoreProperty(EAttribute feature) {
+ if (feature.equals(Csv12Package.Literals.CSV12_READER__ENCODING)) {
+ return true;
+ }
+ if (feature.equals(SmooksPackage.Literals.ABSTRACT_READER__TARGET_PROFILE)) {
+ return true;
+ }
if (feature.equals(Csv12Package.Literals.CSV12_READER__FIELDS)) {
return true;
}
@@ -129,21 +136,28 @@
private void createFiledsComposite(AdapterFactoryEditingDomain editingdomain,
FormToolkit toolkit,
Composite parent, Object model, ISmooksModelProvider formEditor) {
- // fieldsList.clear();
- // GridData gd = new GridData(GridData.FILL_HORIZONTAL);
- // gd.heightHint = 150;
- // gd.horizontalSpan = 2;
- // Group fieldsComposite = new Group(parent, SWT.NONE);
- // fieldsComposite.setBackground(toolkit.getColors().getBackground());
- // fieldsComposite.setText(Messages.Csv12ReaderUICreator_1);
- // fieldsComposite.setLayoutData(gd);
- // GridLayout gl = new GridLayout();
- // gl.numColumns = 2;
- // fieldsComposite.setLayout(gl);
IItemPropertySource propertySource = (IItemPropertySource)
editingdomain.getAdapterFactory().adapt(model,
IItemPropertySource.class);
+ final IItemPropertyDescriptor fieldsDescriptor =
propertySource.getPropertyDescriptor(model,
+ Csv12Package.Literals.CSV12_READER__FIELDS);
+
+ String fields = (String) SmooksUIUtils.getEditValue(fieldsDescriptor, model);
+
+ final AttributeFieldEditPart fieldsEditPart = SmooksUIUtils.createStringFieldEditor(
+ org.jboss.tools.smooks.configuration.editors.csv12.Messages.Csv12ReaderUICreator_Fields,
parent,
+ editingdomain, toolkit, fieldsDescriptor, model, false, false, false, null, 0, null,
+ SmooksUIUtils.VALUE_TYPE_VALUE, null, false);
+ Text text = (Text) fieldsEditPart.getContentControl();
+ text.addModifyListener(new ModifyListener() {
+
+ public void modifyText(ModifyEvent arg0) {
+ updateFieldsMessage(((Text) arg0.getSource()).getText(), fieldsEditPart);
+ }
+ });
+ updateFieldsMessage(fields, fieldsEditPart);
+
final IItemPropertyDescriptor descriptor = propertySource.getPropertyDescriptor(model,
Csv12Package.Literals.CSV12_READER__SEPARATOR);
@@ -164,24 +178,6 @@
Text quoteText = (Text) quoteEditPart.getContentControl();
quoteText.setTextLimit(1);
- final IItemPropertyDescriptor fieldsDescriptor =
propertySource.getPropertyDescriptor(model,
- Csv12Package.Literals.CSV12_READER__FIELDS);
-
- String fields = (String) SmooksUIUtils.getEditValue(fieldsDescriptor, model);
-
- final AttributeFieldEditPart fieldsEditPart = SmooksUIUtils.createStringFieldEditor(
- org.jboss.tools.smooks.configuration.editors.csv12.Messages.Csv12ReaderUICreator_Fields,
parent,
- editingdomain, toolkit, fieldsDescriptor, model, false, false, false, null, 0, null,
- SmooksUIUtils.VALUE_TYPE_VALUE, null, false);
- Text text = (Text) fieldsEditPart.getContentControl();
- text.addModifyListener(new ModifyListener() {
-
- public void modifyText(ModifyEvent arg0) {
- updateFieldsMessage(((Text) arg0.getSource()).getText(), fieldsEditPart);
- }
- });
- updateFieldsMessage(fields, fieldsEditPart);
-
final IItemPropertyDescriptor recorddescriptor =
propertySource.getPropertyDescriptor(model,
Csv12Package.Literals.CSV12_READER__RECORD_ELEMENT_NAME);
@@ -197,7 +193,6 @@
org.jboss.tools.smooks.configuration.editors.csv12.Messages.Csv12ReaderUICreator_Root_Name,
parent,
editingdomain, toolkit, rootdescriptor, model, false, false, false, null, 0, null,
SmooksUIUtils.VALUE_TYPE_VALUE, null, false);
-
}
protected void updateFieldsMessage(String fields, AttributeFieldEditPart editPart) {
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/INumberParser.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/INumberParser.java
(rev 0)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/INumberParser.java 2010-01-22
08:17:31 UTC (rev 19874)
@@ -0,0 +1,5 @@
+package org.jboss.tools.smooks.configuration.editors.uitls;
+
+public interface INumberParser {
+ Object transformText(String text);
+}
Property changes on:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/INumberParser.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 2010-01-21
23:59:06 UTC (rev 19873)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SmooksUIUtils.java 2010-01-22
08:17:31 UTC (rev 19874)
@@ -613,7 +613,7 @@
}
public static AttributeFieldEditPart createNumberFieldEditor(String label, final
Composite parent,
- FormToolkit toolkit, final IItemPropertyDescriptor itemPropertyDescriptor, Object
model) {
+ FormToolkit toolkit, final IItemPropertyDescriptor itemPropertyDescriptor, Object
model ,final INumberParser numberParser) {
AttributeFieldEditPart fieldEditPart = new AttributeFieldEditPart();
GridData gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
Section section = null;
@@ -663,22 +663,23 @@
toolkit.paintBordersFor(textContainer);
- boolean valueIsSet = true;
- if (model != null && model instanceof EObject && itemPropertyDescriptor
!= null) {
- valueIsSet = ((EObject) model).eIsSet((EAttribute)
itemPropertyDescriptor.getFeature(model));
- }
- if (editValue != null && valueIsSet && editValue instanceof Integer) {
+// boolean valueIsSet = true;
+// if (model != null && model instanceof EObject &&
itemPropertyDescriptor != null) {
+// valueIsSet = ((EObject) model).eIsSet((EAttribute)
itemPropertyDescriptor.getFeature(model));
+// }
+ if (editValue != null ) {
valueText.setText(editValue.toString());
}
if (itemPropertyDescriptor != null) {
valueText.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
+ if(numberParser == null) return;
Object editValue = getEditValue(itemPropertyDescriptor, fm);
if (editValue != null) {
String vt = valueText.getText();
- Integer newValue = null;
+ Object newValue = null;
try {
- newValue = Integer.parseInt(vt);
+ newValue = numberParser.transformText(vt);
} catch (Throwable t) {
return;
}
@@ -691,9 +692,9 @@
}
} else {
String vt = valueText.getText();
- Integer newValue = null;
+ Object newValue = null;
try {
- newValue = Integer.parseInt(vt);
+ newValue = numberParser.transformText(vt);
} catch (Throwable t) {
return;
}