List of usage examples for org.eclipse.jface.databinding.swt SWTObservables observeText
@Deprecated public static ISWTObservableValue observeText(Control control, int event)
control
. From source file:org.bonitasoft.studio.connector.model.implementation.wizard.AbstractImplementationWizardPage.java
License:Open Source License
@Override public void createControl(Composite parent) { context = new EMFDataBindingContext(); if (pageSupport == null) { pageSupport = WizardPageSupport.create(this, context); }/* w ww . j av a 2 s.co m*/ Composite mainComposite = new Composite(parent, SWT.NONE); mainComposite.setLayout(GridLayoutFactory.fillDefaults().numColumns(3).margins(10, 10).create()); final Label definitionIdLabel = new Label(mainComposite, SWT.NONE); definitionIdLabel.setText(Messages.implementationId + " *"); definitionIdLabel.setLayoutData(GridDataFactory.fillDefaults().align(SWT.END, SWT.CENTER).create()); final Composite idComposite = new Composite(mainComposite, SWT.NONE); idComposite.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).span(2, 1).create()); idComposite.setLayout(GridLayoutFactory.fillDefaults().numColumns(3).margins(0, 0).create()); final Text idText = new Text(idComposite, SWT.BORDER); idText.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create()); UpdateValueStrategy idStrategy = new UpdateValueStrategy(); idStrategy.setAfterGetValidator(new EmptyInputValidator(Messages.implementationId)); idStrategy.setBeforeSetValidator(new IValidator() { @Override public IStatus validate(Object value) { if (!FileUtil.isValidName(NamingUtils.toConnectorImplementationFilename(value.toString(), implementation.getImplementationVersion(), true))) { return ValidationStatus.error(Messages.invalidFileName); } return Status.OK_STATUS; } }); Label definitionVersionLabel = new Label(idComposite, SWT.NONE); definitionVersionLabel.setText(Messages.versionLabel + " *"); definitionVersionLabel.setLayoutData(GridDataFactory.fillDefaults().align(SWT.END, SWT.CENTER).create()); final Text versionText = new Text(idComposite, SWT.BORDER); versionText.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create()); UpdateValueStrategy versionStrategy = new UpdateValueStrategy(); versionStrategy.setAfterGetValidator(new EmptyInputValidator(Messages.versionLabel)); versionStrategy.setBeforeSetValidator(new IValidator() { @Override public IStatus validate(Object value) { if (value.toString().contains(" ")) { return ValidationStatus.error("Whitespace is not allowed in version id"); } if (!FileUtil.isValidName(NamingUtils.toConnectorImplementationFilename( implementation.getImplementationId(), value.toString(), true))) { return ValidationStatus.error(Messages.invalidFileName); } return Status.OK_STATUS; } }); final ISWTObservableValue observableIdText = SWTObservables.observeText(idText, SWT.Modify); final ISWTObservableValue observableVersionText = SWTObservables.observeText(versionText, SWT.Modify); final MultiValidator definitionValidator = new MultiValidator() { @Override protected IStatus validate() { if (observableIdText.getValue().toString().contains(" ")) { return ValidationStatus.error("Whitespace is not allowed in definition id"); } String implID = NamingUtils.toConnectorImplementationFilename( observableIdText.getValue().toString(), observableVersionText.getValue().toString(), false); for (ConnectorImplementation impl : existingImpl) { String existingId = NamingUtils.toConnectorImplementationFilename(impl.getImplementationId(), impl.getImplementationVersion(), false); if (implID.equals(existingId)) { return ValidationStatus.error(Messages.implementationAlreadyExists); } } return ValidationStatus.ok(); } }; context.addValidationStatusProvider(definitionValidator); context.bindValue(observableIdText, EMFObservables.observeValue(implementation, ConnectorImplementationPackage.Literals.CONNECTOR_IMPLEMENTATION__IMPLEMENTATION_ID), idStrategy, null); context.bindValue(observableVersionText, EMFObservables.observeValue(implementation, ConnectorImplementationPackage.Literals.CONNECTOR_IMPLEMENTATION__IMPLEMENTATION_VERSION), versionStrategy, null); Label descriptionLabel = new Label(mainComposite, SWT.NONE); descriptionLabel.setText(Messages.description); descriptionLabel.setLayoutData(GridDataFactory.fillDefaults().align(SWT.END, SWT.TOP).create()); final Text descriptionText = new Text(mainComposite, SWT.BORDER | SWT.MULTI | SWT.WRAP); descriptionText.setLayoutData( GridDataFactory.fillDefaults().grab(true, false).hint(SWT.DEFAULT, 50).span(2, 1).create()); UpdateValueStrategy descStrategy = new UpdateValueStrategy(); descStrategy.setBeforeSetValidator(new InputLengthValidator(Messages.description, 255)); context.bindValue(SWTObservables.observeText(descriptionText, SWT.Modify), EMFObservables.observeValue(implementation, ConnectorImplementationPackage.Literals.CONNECTOR_IMPLEMENTATION__DESCRIPTION), descStrategy, null); createClassAndPackageName(mainComposite); createDependenciesViewer(mainComposite); final MultiValidator defValidator = new MultiValidator() { @Override protected IStatus validate() { String className = (String) observeClassText.getValue(); String packageName = (String) observePackageText.getValue(); if (className != null && !className.isEmpty()) { if (!packageName.isEmpty()) { packageName = packageName + "."; } final String qualifiedClassName = packageName + className; for (ConnectorImplementation impl : existingImpl) { if (qualifiedClassName.equals(impl.getImplementationClassname())) { return ValidationStatus.error(qualifiedClassName + " " + Messages.bind(Messages.alreadyExistsForAnotherImplementation, NamingUtils.toConnectorImplementationFilename( impl.getImplementationId(), impl.getImplementationVersion(), false))); } } } return ValidationStatus.ok(); } }; context.addValidationStatusProvider(defValidator); updateButtons(new StructuredSelection()); setControl(mainComposite); }
From source file:org.bonitasoft.studio.connector.model.implementation.wizard.AbstractImplementationWizardPage.java
License:Open Source License
protected void createClassAndPackageName(Composite mainComposite) { Label classNameLabel = new Label(mainComposite, SWT.NONE); classNameLabel.setText(Messages.classNameLabel + " *"); classNameLabel.setLayoutData(GridDataFactory.fillDefaults().align(SWT.END, SWT.CENTER).create()); final Text classNameText = new Text(mainComposite, SWT.BORDER); classNameText.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).span(2, 1).create()); final Label packageLabel = new Label(mainComposite, SWT.NONE); packageLabel.setText(Messages.packageName + " *"); packageLabel.setLayoutData(GridDataFactory.fillDefaults().align(SWT.END, SWT.CENTER).create()); final Text packageText = new Text(mainComposite, SWT.BORDER); packageText.setLayoutData(//from ww w .j a va 2 s . co m GridDataFactory.swtDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).create()); UpdateValueStrategy packageTargetToModel = new UpdateValueStrategy(); packageTargetToModel.setConverter(new Converter(String.class, String.class) { @Override public Object convert(Object from) { if (from != null) { String packageName = from.toString(); if (!packageName.isEmpty()) { packageName = packageName + "."; } if (classNameText != null && !classNameText.isDisposed()) { return packageName + classNameText.getText(); } } return null; } }); packageTargetToModel.setAfterGetValidator(new IValidator() { @Override public IStatus validate(Object value) { return JavaConventions.validatePackageName(value.toString(), JavaCore.VERSION_1_6, JavaCore.VERSION_1_6); } }); UpdateValueStrategy packageModelToTarget = new UpdateValueStrategy(); packageModelToTarget.setConverter(new Converter(String.class, String.class) { @Override public Object convert(Object from) { if (from != null) { String qualifiedClassname = from.toString(); if (qualifiedClassname.indexOf(".") != -1) { int i = qualifiedClassname.lastIndexOf("."); return qualifiedClassname.subSequence(0, i); } else { return ""; } } return null; } }); UpdateValueStrategy classTargetToModel = new UpdateValueStrategy(); classTargetToModel.setConverter(new Converter(String.class, String.class) { @Override public Object convert(Object from) { if (from != null) { String className = from.toString(); if (packageText != null && !packageText.isDisposed()) { String packageName = packageText.getText().trim(); if (!packageName.isEmpty()) { packageName = packageName + "."; } return packageName + className; } } return null; } }); classTargetToModel.setAfterGetValidator(new IValidator() { @Override public IStatus validate(Object value) { if (value == null || value.toString().isEmpty()) { return ValidationStatus.error(Messages.missingImplemenationClass); } return JavaConventions.validateClassFileName(value.toString() + ".class", JavaCore.VERSION_1_6, JavaCore.VERSION_1_6); } }); classTargetToModel.setBeforeSetValidator(new IValidator() { @Override public IStatus validate(Object value) { if (implementation.getImplementationClassname() == null || implementation.getImplementationClassname().toString().indexOf(".") == -1) { return JavaConventions.validatePackageName("", JavaCore.VERSION_1_6, JavaCore.VERSION_1_6); } return Status.OK_STATUS; } }); UpdateValueStrategy classModelToTarget = new UpdateValueStrategy(); classModelToTarget.setConverter(new Converter(String.class, String.class) { @Override public Object convert(Object from) { if (from != null) { String qualifiedClassname = from.toString(); if (qualifiedClassname.indexOf(".") != -1) { int i = qualifiedClassname.lastIndexOf("."); return qualifiedClassname.subSequence(i + 1, qualifiedClassname.length()); } else { return qualifiedClassname; } } return null; } }); observeClassText = SWTObservables.observeText(classNameText, SWT.Modify); observePackageText = SWTObservables.observeText(packageText, SWT.Modify); context.bindValue(observeClassText, EMFObservables.observeValue(implementation, ConnectorImplementationPackage.Literals.CONNECTOR_IMPLEMENTATION__IMPLEMENTATION_CLASSNAME), classTargetToModel, classModelToTarget); context.bindValue(observePackageText, EMFObservables.observeValue(implementation, ConnectorImplementationPackage.Literals.CONNECTOR_IMPLEMENTATION__IMPLEMENTATION_CLASSNAME), packageTargetToModel, packageModelToTarget); final Button browsePackagesButton = new Button(mainComposite, SWT.PUSH); browsePackagesButton.setText(Messages.browsePackages); browsePackagesButton.addListener(SWT.Selection, new Listener() { @Override public void handleEvent(Event event) { IPackageFragment selectedPackage = AbstractImplementationWizardPage.this.choosePackage(); if (selectedPackage != null) { packageText.setText(selectedPackage.getElementName()); } } }); }
From source file:org.bonitasoft.studio.connectors.expression.ConnectorOutputExpressionEditor.java
License:Open Source License
@Override public void bindExpression(EMFDataBindingContext dataBindingContext, EObject context, Expression inputExpression, ViewerFilter[] filters, ExpressionViewer expressionViewer) { this.inputExpression = inputExpression; Set<Output> input = new HashSet<Output>(); IExpressionProvider provider = ExpressionEditorService.getInstance() .getExpressionProvider(ExpressionConstants.CONNECTOR_OUTPUT_TYPE); for (Expression e : provider.getExpressions(context)) { if (inputExpression.isReturnTypeFixed()) { if (e.getReturnType().equals(inputExpression.getReturnType())) { input.add((Output) e.getReferencedElements().get(0)); }/*from w w w . ja v a 2 s . c om*/ } else { input.add((Output) e.getReferencedElements().get(0)); } } viewer.setInput(input); IObservableValue contentObservable = EMFObservables.observeValue(inputExpression, ExpressionPackage.Literals.EXPRESSION__CONTENT); IObservableValue nameObservable = EMFObservables.observeValue(inputExpression, ExpressionPackage.Literals.EXPRESSION__NAME); IObservableValue returnTypeObservable = EMFObservables.observeValue(inputExpression, ExpressionPackage.Literals.EXPRESSION__RETURN_TYPE); IObservableValue referenceObservable = EMFObservables.observeValue(inputExpression, ExpressionPackage.Literals.EXPRESSION__REFERENCED_ELEMENTS); UpdateValueStrategy selectionToName = new UpdateValueStrategy(); IConverter nameConverter = new Converter(Output.class, String.class) { @Override public Object convert(Object output) { return ((Output) output).getName(); } }; selectionToName.setConverter(nameConverter); UpdateValueStrategy selectionToContent = new UpdateValueStrategy(); IConverter contentConverter = new Converter(Output.class, String.class) { @Override public Object convert(Object output) { return ((Output) output).getName(); } }; selectionToContent.setConverter(contentConverter); UpdateValueStrategy selectionToReturnType = new UpdateValueStrategy(); IConverter returnTypeConverter = new Converter(Output.class, String.class) { @Override public Object convert(Object output) { return ((Output) output).getType(); } }; selectionToReturnType.setConverter(returnTypeConverter); UpdateValueStrategy selectionToReferencedData = new UpdateValueStrategy(); IConverter referenceConverter = new Converter(Output.class, List.class) { @Override public Object convert(Object output) { return Collections.singletonList(output); } }; selectionToReferencedData.setConverter(referenceConverter); UpdateValueStrategy referencedDataToSelection = new UpdateValueStrategy(); IConverter modelReferenceToTarget = new Converter(List.class, Output.class) { @Override public Object convert(Object outputList) { Output output = ((List<Output>) outputList).get(0); for (int i = 0; i < viewer.getTable().getItemCount(); i++) { Output out = (Output) viewer.getElementAt(i); if (out.getName().equals(output.getName()) && out.getType().equals(output.getType())) { return out; } } return null; } }; referencedDataToSelection.setConverter(modelReferenceToTarget); dataBindingContext.bindValue(SWTObservables.observeText(typeText, SWT.Modify), returnTypeObservable); dataBindingContext.bindValue(ViewersObservables.observeSingleSelection(viewer), nameObservable, selectionToName, new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER)); dataBindingContext.bindValue(ViewersObservables.observeSingleSelection(viewer), contentObservable, selectionToContent, new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER)); dataBindingContext.bindValue(ViewersObservables.observeSingleSelection(viewer), returnTypeObservable, selectionToReturnType, new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER)); dataBindingContext.bindValue(ViewersObservables.observeSingleSelection(viewer), referenceObservable, selectionToReferencedData, referencedDataToSelection); }
From source file:org.bonitasoft.studio.connectors.ui.wizard.page.ExportConnectorWizardPage.java
License:Open Source License
@Override public void createControl(Composite parent) { context = new EMFDataBindingContext(); Composite composite = new Composite(parent, SWT.NONE); composite.setLayout(GridLayoutFactory.fillDefaults().numColumns(3).extendedMargins(10, 10, 10, 0).create()); composite.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); final Text serachBox = new Text(composite, SWT.BORDER | SWT.SEARCH | SWT.ICON_SEARCH); serachBox.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).span(3, 1).create()); serachBox.setMessage(Messages.search); tableViewer = new TableViewer(composite, SWT.SINGLE | SWT.BORDER | SWT.FULL_SELECTION); tableViewer.getTable().setLayoutData( GridDataFactory.fillDefaults().grab(true, true).span(3, 1).hint(SWT.DEFAULT, 280).create()); tableViewer.setContentProvider(contentProvider); tableViewer.setLabelProvider(labelProvider); tableViewer.addSelectionChangedListener(this); tableViewer.addDoubleClickListener(this); tableViewer.addFilter(new ViewerFilter() { @Override/* w w w .jav a2s .com*/ public boolean select(Viewer arg0, Object parentElement, Object element) { String search = serachBox.getText(); return search == null || search.isEmpty() || labelProvider.getText(element).toLowerCase().contains(search.toLowerCase()); } }); tableViewer.setInput(new Object()); tableViewer.getTable().setFocus(); serachBox.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { tableViewer.refresh(); } }); IValidator selectionValidator = new IValidator() { @Override public IStatus validate(Object value) { if (value == null) { return new Status(IStatus.ERROR, ConnectorPlugin.PLUGIN_ID, Messages.selectAConnectorImplWarning); } if (value instanceof ConnectorImplementation) { String id = ((ConnectorImplementation) value).getDefinitionId(); String version = ((ConnectorImplementation) value).getDefinitionVersion(); if (id == null || id.isEmpty()) { return new Status(IStatus.ERROR, ConnectorPlugin.PLUGIN_ID, Messages.selectAValidConnectorImplWarning); } if (version == null || version.isEmpty()) { return new Status(IStatus.ERROR, ConnectorPlugin.PLUGIN_ID, Messages.selectAValidConnectorImplWarning); } if (defStore.getDefinition(id, version, definitions) == null) { return new Status(IStatus.ERROR, ConnectorPlugin.PLUGIN_ID, Messages.selectAValidConnectorImplWarning); } if (((ConnectorImplementation) value).getImplementationClassname() == null || ((ConnectorImplementation) value).getImplementationClassname().isEmpty()) { return new Status(IStatus.ERROR, ConnectorPlugin.PLUGIN_ID, Messages.selectAValidConnectorImplWarning); } } return Status.OK_STATUS; } }; UpdateValueStrategy selectionStrategy = new UpdateValueStrategy(); selectionStrategy.setBeforeSetValidator(selectionValidator); final Label inculeSourcesLabel = new Label(composite, SWT.NONE); inculeSourcesLabel.setLayoutData(GridDataFactory.fillDefaults().align(SWT.END, SWT.CENTER).create()); inculeSourcesLabel.setText(Messages.inculeSourcesLabel); final Button includeSourceCheckbox = new Button(composite, SWT.CHECK); includeSourceCheckbox.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).span(2, 1).create()); final Label addDependenciesLabel = new Label(composite, SWT.NONE); addDependenciesLabel.setLayoutData(GridDataFactory.fillDefaults().align(SWT.END, SWT.CENTER).create()); addDependenciesLabel.setText(Messages.addDependencies); final Button addDependenciesCheckbox = new Button(composite, SWT.CHECK); addDependenciesCheckbox.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).span(2, 1).create()); final Label destDirectoryLabel = new Label(composite, SWT.NONE); destDirectoryLabel.setLayoutData(GridDataFactory.fillDefaults().align(SWT.END, SWT.CENTER).create()); destDirectoryLabel.setText(Messages.destinationLabel + " *"); final Text destDirectoryText = new Text(composite, SWT.BORDER); destDirectoryText.setLayoutData( GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).create()); Button destFileButton = new Button(composite, SWT.PUSH); destFileButton.setLayoutData(GridDataFactory.fillDefaults().hint(85, SWT.DEFAULT).create()); destFileButton.setText(Messages.browsePackages); destFileButton.addListener(SWT.Selection, new Listener() { @Override public void handleEvent(Event event) { String defaultName = generateDefaultName(); selectDirectory(destDirectoryText, defaultName); } }); Label destFileNameLabel = new Label(composite, SWT.NONE); destFileNameLabel.setLayoutData(GridDataFactory.fillDefaults().align(SWT.END, SWT.CENTER).create()); destFileNameLabel.setText(Messages.destFileNameLabel); destFileNameText = new Text(composite, SWT.BORDER); destFileNameText.setText(generateDefaultName()); destFileNameText.setLayoutData( GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).create()); UpdateValueStrategy pathStrategy = new UpdateValueStrategy(); final EmptyInputValidator emptyValidator = new EmptyInputValidator(Messages.destinationLabel); pathStrategy.setBeforeSetValidator(new IValidator() { @Override public IStatus validate(Object value) { IStatus status = emptyValidator.validate(value); if (!status.isOK()) { return status; } File target = new File((String) value); if (!target.exists()) { return new Status(IStatus.ERROR, ConnectorPlugin.PLUGIN_ID, Messages.targetPathIsInvalid); } return Status.OK_STATUS; } }); UpdateValueStrategy nameStrategy = new UpdateValueStrategy(); nameStrategy.setBeforeSetValidator(new IValidator() { @Override public IStatus validate(Object value) { if (!value.toString().endsWith(".zip")) { return new Status(IStatus.ERROR, ConnectorPlugin.PLUGIN_ID, Messages.notAZipFile); } return Status.OK_STATUS; } }); context.bindValue(ViewersObservables.observeSingleSelection(tableViewer), PojoProperties.value(ExportConnectorWizardPage.class, "selectedImplementation").observe(this), selectionStrategy, null); context.bindValue(SWTObservables.observeSelection(includeSourceCheckbox), PojoProperties.value(ExportConnectorWizardPage.class, "includeSources").observe(this)); context.bindValue(SWTObservables.observeSelection(addDependenciesCheckbox), PojoProperties.value(ExportConnectorWizardPage.class, "addDependencies").observe(this)); context.bindValue(SWTObservables.observeText(destDirectoryText, SWT.Modify), PojoProperties.value(ExportConnectorWizardPage.class, "destFilePath").observe(this), pathStrategy, null); context.bindValue(SWTObservables.observeText(destFileNameText, SWT.Modify), PojoProperties.value(ExportConnectorWizardPage.class, "destFileName").observe(this), nameStrategy, null); pageSupport = WizardPageSupport.create(this, context); setControl(composite); }
From source file:org.bonitasoft.studio.connectors.ui.wizard.page.SelectEventConnectorNameAndDescWizardPage.java
License:Open Source License
protected void createConnectorFailsControls(Composite composite, EMFDataBindingContext context) { Label connectorFailsLabel = new Label(composite, SWT.NONE); connectorFailsLabel.setText(Messages.connectorCrashLabel); connectorFailsLabel.setLayoutData(GridDataFactory.fillDefaults().align(SWT.END, SWT.CENTER).create()); if (connector.eContainingFeature() == ProcessPackage.Literals.PAGE_FLOW__PAGE_FLOW_CONNECTORS || container instanceof Form || container instanceof SubmitFormButton) { Label connectorFailText = new Label(composite, SWT.NONE); connectorFailText.setText(Messages.connectorFails_throwException); connectorFailText// w w w. j a va2 s. c o m .setLayoutData(GridDataFactory.fillDefaults().align(SWT.BEGINNING, SWT.CENTER).create()); connector.setThrowErrorEvent(false); connector.setIgnoreErrors(false); connector.setNamedError(""); } else { final Combo connectorFailsCombo = new Combo(composite, SWT.READ_ONLY); connectorFailsCombo.add(Messages.connectorFails_crash); connectorFailsCombo.add(Messages.connectorFails_ignore); // Throw Event are not allowed in Connector in forms if (!(container instanceof Form || container instanceof SubmitFormButton)) { connectorFailsCombo.add(Messages.connectorFails_throwEvent); } UpdateValueStrategy ignoreEventStrategyTarget = new UpdateValueStrategy(); ignoreEventStrategyTarget.setConverter(new Converter(String.class, Boolean.class) { @Override public Object convert(Object from) { if (from != null) { return from.toString().equals(Messages.connectorFails_ignore); } return Boolean.FALSE; } }); UpdateValueStrategy ignoreEventStrategyModel = new UpdateValueStrategy(); ignoreEventStrategyModel.setConverter(new Converter(Boolean.class, String.class) { @Override public Object convert(Object from) { if ((Boolean) from) { return Messages.connectorFails_ignore; } else if (connector.isThrowErrorEvent()) { return Messages.connectorFails_throwEvent; } return Messages.connectorFails_crash; } }); context.bindValue(WidgetProperties.text().observe(connectorFailsCombo), EMFObservables.observeValue(connector, ProcessPackage.Literals.CONNECTOR__IGNORE_ERRORS), ignoreEventStrategyTarget, ignoreEventStrategyModel); UpdateValueStrategy throwEventStrategyTarget = new UpdateValueStrategy(); throwEventStrategyTarget.setConverter(new Converter(String.class, Boolean.class) { @Override public Object convert(Object from) { if (from != null) { return from.toString().equals(Messages.connectorFails_throwEvent); } return Boolean.FALSE; } }); UpdateValueStrategy throwEventStrategyModel = new UpdateValueStrategy(); throwEventStrategyModel.setConverter(new Converter(Boolean.class, String.class) { @Override public Object convert(Object from) { if ((Boolean) from) { return Messages.connectorFails_throwEvent; } else if (connector.isIgnoreErrors()) { return Messages.connectorFails_ignore; } return Messages.connectorFails_crash; } }); context.bindValue(WidgetProperties.text().observe(connectorFailsCombo), EMFObservables.observeValue(connector, ProcessPackage.Literals.CONNECTOR__THROW_ERROR_EVENT), throwEventStrategyTarget, throwEventStrategyModel); Label namedErrorEvent = new Label(composite, SWT.NONE); namedErrorEvent.setText(Messages.connectorFails_namedError); namedErrorEvent.setLayoutData(GridDataFactory.fillDefaults().align(SWT.END, SWT.CENTER).create()); final Text namedErrorText = new Text(composite, SWT.BORDER); namedErrorText.setTextLimit(255); namedErrorText.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create()); UpdateValueStrategy enableNamedErrorStrategyTarget = new UpdateValueStrategy(); enableNamedErrorStrategyTarget.setConverter(new Converter(String.class, Boolean.class) { @Override public Object convert(Object from) { if (from != null) { return from.toString().equals(Messages.connectorFails_throwEvent); } return Boolean.FALSE; } }); context.bindValue(SWTObservables.observeText(namedErrorText, SWT.Modify), EMFObservables.observeValue(connector, ProcessPackage.Literals.CONNECTOR__NAMED_ERROR)); namedErrorText.setEnabled(connector.isThrowErrorEvent()); context.bindValue(WidgetProperties.text().observe(connectorFailsCombo), SWTObservables.observeEnabled(namedErrorText), enableNamedErrorStrategyTarget, new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER)); } }
From source file:org.bonitasoft.studio.contract.ui.expression.ContractInputExpressionEditor.java
License:Open Source License
@Override public void bindExpression(final EMFDataBindingContext dataBindingContext, final EObject context, final Expression inputExpression, final ViewerFilter[] filters, final ExpressionViewer expressionViewer) { editorInputExpression = inputExpression; updateViewerInput(context);// ww w. j a va 2 s . c o m final IObservableValue contentObservable = EMFObservables.observeValue(inputExpression, ExpressionPackage.Literals.EXPRESSION__CONTENT); final IObservableValue nameObservable = EMFObservables.observeValue(inputExpression, ExpressionPackage.Literals.EXPRESSION__NAME); final IObservableValue returnTypeObservable = EMFObservables.observeValue(inputExpression, ExpressionPackage.Literals.EXPRESSION__RETURN_TYPE); final IObservableValue referenceObservable = EMFObservables.observeValue(inputExpression, ExpressionPackage.Literals.EXPRESSION__REFERENCED_ELEMENTS); final IViewerObservableValue observeSingleSelection = ViewersObservables.observeSingleSelection(viewer); dataBindingContext.bindValue(observeSingleSelection, EMFObservables.observeValue(inputExpression, ExpressionPackage.Literals.EXPRESSION__TYPE), selectionToTypeStrategy(), new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER)); dataBindingContext.bindValue(observeSingleSelection, nameObservable, selectionToInputNameStrategy(), new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER)); dataBindingContext.bindValue(observeSingleSelection, contentObservable, selectionToInputNameStrategy(), new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER)); dataBindingContext.bindValue(observeSingleSelection, returnTypeObservable, selectionToReturnTypeStrategy(), new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER)); dataBindingContext.bindValue(observeSingleSelection, referenceObservable, selectionToContractInputStrategy(), contractInputToSelectionStrategy()); dataBindingContext.bindValue(SWTObservables.observeText(typeText, SWT.Modify), returnTypeObservable); }
From source file:org.bonitasoft.studio.contract.ui.wizard.CreateContractInputFromBusinessObjectWizardPage.java
License:Open Source License
private void createRootNameControl(final EMFDataBindingContext dbc, final Composite composite) { final Composite rootNameComposite = new Composite(composite, SWT.NONE); rootNameComposite.setLayout(GridLayoutFactory.fillDefaults().numColumns(3).margins(10, 10).create()); rootNameComposite.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create()); final Label label = new Label(rootNameComposite, SWT.NONE); label.setLayoutData(GridDataFactory.fillDefaults().align(SWT.END, SWT.CENTER).create()); label.setText(Messages.rootContractInputName); final Text prefixText = new Text(rootNameComposite, SWT.BORDER); prefixText.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); final Label typeLabel = new Label(rootNameComposite, SWT.NONE); typeLabel.setText(Messages.inputOfType); final IObservableValue prefixObservable = PojoObservables.observeValue(this, "rootName"); dbc.bindValue(prefixObservable,/*from w w w . ja v a 2s . c o m*/ EMFObservables.observeDetailValue(Realm.getDefault(), selectedDataObservable, ProcessPackage.Literals.ELEMENT__NAME), neverUpdateValueStrategy().create(), updateValueStrategy().withConverter(dataNameToRootContractInputName()).create()); dbc.bindValue( SWTObservables.observeText(prefixText, SWT.Modify), prefixObservable, updateValueStrategy() .withValidator(uniqueValidator().onProperty("name").in(contract.getInputs())).create(), null); dbc.bindValue(rootNameObservable, prefixObservable); }
From source file:org.bonitasoft.studio.data.provider.DataExpressionEditor.java
License:Open Source License
@Override public void bindExpression(EMFDataBindingContext dataBindingContext, EObject context, Expression inputExpression, ViewerFilter[] filters, final ExpressionViewer expressionViewer) { final EObject finalContext = context; if (context instanceof Widget) { if (ModelHelper.getPageFlow((Widget) context) instanceof Pool) { addExpressionButton.setEnabled(false); }/*from w w w .ja v a 2 s.c om*/ } final ViewerFilter[] finalFilters = filters; addExpressionButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { try { expressionButtonListener(finalContext, expressionViewer, finalFilters); } catch (CoreException e1) { BonitaStudioLog.error(e1); } } }); editorInputExpression = inputExpression; fillViewerData(context, filters); IObservableValue contentObservable = EMFObservables.observeValue(inputExpression, ExpressionPackage.Literals.EXPRESSION__CONTENT); IObservableValue nameObservable = EMFObservables.observeValue(inputExpression, ExpressionPackage.Literals.EXPRESSION__NAME); returnTypeObservable = EMFObservables.observeValue(inputExpression, ExpressionPackage.Literals.EXPRESSION__RETURN_TYPE); IObservableValue referenceObservable = EMFObservables.observeValue(inputExpression, ExpressionPackage.Literals.EXPRESSION__REFERENCED_ELEMENTS); UpdateValueStrategy selectionToName = new UpdateValueStrategy(); IConverter nameConverter = new Converter(Data.class, String.class) { @Override public Object convert(Object data) { return ((Data) data).getName(); } }; selectionToName.setConverter(nameConverter); UpdateValueStrategy selectionToContent = new UpdateValueStrategy(); IConverter contentConverter = new Converter(Data.class, String.class) { @Override public Object convert(Object data) { return ((Data) data).getName(); } }; selectionToContent.setConverter(contentConverter); UpdateValueStrategy selectionToReturnType = new UpdateValueStrategy(); IConverter returnTypeConverter = new Converter(Data.class, String.class) { @Override public Object convert(Object data) { return org.bonitasoft.studio.common.DataUtil.getTechnicalTypeFor((Data) data); } }; selectionToReturnType.setConverter(returnTypeConverter); UpdateValueStrategy selectionToReferencedData = new UpdateValueStrategy(); IConverter referenceConverter = new Converter(Data.class, List.class) { @Override public Object convert(Object data) { if (data != null) { return Collections.singletonList(data); } else { return Collections.emptyList(); } } }; selectionToReferencedData.setConverter(referenceConverter); UpdateValueStrategy referencedDataToSelection = new UpdateValueStrategy(); IConverter referencetoDataConverter = new Converter(List.class, Data.class) { @Override public Object convert(Object dataList) { Data d = ((List<Data>) dataList).get(0); Collection<Data> inputData = (Collection<Data>) viewer.getInput(); for (Data data : inputData) { if (data.getName().equals(d.getName()) && data.getDataType().getName().equals(d.getDataType().getName())) { return data; } } return null; } }; referencedDataToSelection.setConverter(referencetoDataConverter); dataBindingContext.bindValue(ViewersObservables.observeSingleSelection(viewer), nameObservable, selectionToName, new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER)); dataBindingContext.bindValue(ViewersObservables.observeSingleSelection(viewer), contentObservable, selectionToContent, new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER)); dataBindingContext.bindValue(ViewersObservables.observeSingleSelection(viewer), returnTypeObservable, selectionToReturnType, new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER)); dataBindingContext.bindValue(ViewersObservables.observeSingleSelection(viewer), referenceObservable, selectionToReferencedData, referencedDataToSelection); dataBindingContext.bindValue(SWTObservables.observeText(typeText, SWT.Modify), returnTypeObservable); if (context instanceof DateFormField) { final ControlDecoration cd = new ControlDecoration(typeText, SWT.TOP | SWT.LEFT); // cd.setImage(Pics.getImage(PicsConstants.error)) ; cd.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJS_WARN_TSK)); cd.setDescriptionText("It is recommanded to use Return type ad String or Date for Date Widget"); cd.setShowOnlyOnFocus(false); if (typeText.getText().equals(Date.class.getName()) || typeText.getText().equals(String.class.getName())) { cd.hide(); } else { cd.show(); } returnTypeObservable.addValueChangeListener(new IValueChangeListener() { @Override public void handleValueChange(ValueChangeEvent event) { if (typeText.getText().equals(Date.class.getName()) || typeText.getText().equals(String.class.getName())) { cd.hide(); } else { cd.show(); } } }); } }
From source file:org.bonitasoft.studio.data.provider.DocumentExpressionEditor.java
License:Open Source License
@Override public void bindExpression(EMFDataBindingContext dataBindingContext, EObject context, Expression inputExpression, ViewerFilter[] filters, ExpressionViewer expressionViewer) { editorInputExpression = inputExpression; fillViewerDocument(context, filters); IObservableValue contentObservable = EMFObservables.observeValue(inputExpression, ExpressionPackage.Literals.EXPRESSION__CONTENT); IObservableValue nameObservable = EMFObservables.observeValue(inputExpression, ExpressionPackage.Literals.EXPRESSION__NAME); returnTypeObservable = EMFObservables.observeValue(inputExpression, ExpressionPackage.Literals.EXPRESSION__RETURN_TYPE); IObservableValue referenceObservable = EMFObservables.observeValue(inputExpression, ExpressionPackage.Literals.EXPRESSION__REFERENCED_ELEMENTS); UpdateValueStrategy selectionToName = new UpdateValueStrategy(); IConverter nameConverter = new Converter(Data.class, String.class) { @Override/* w w w. j ava2 s.c o m*/ public Object convert(Object data) { return ((Data) data).getName(); } }; selectionToName.setConverter(nameConverter); UpdateValueStrategy selectionToContent = new UpdateValueStrategy(); IConverter contentConverter = new Converter(Data.class, String.class) { @Override public Object convert(Object document) { return ((Document) document).getName(); } }; selectionToContent.setConverter(contentConverter); UpdateValueStrategy selectionToReturnType = new UpdateValueStrategy(); IConverter returnTypeConverter = new Converter(Document.class, String.class) { @Override public Object convert(Object data) { return String.class.getName(); } }; selectionToReturnType.setConverter(returnTypeConverter); UpdateValueStrategy selectionToReferencedData = new UpdateValueStrategy(); IConverter referenceConverter = new Converter(Document.class, List.class) { @Override public Object convert(Object document) { if (document != null) { return Collections.singletonList(document); } else { return Collections.emptyList(); } } }; selectionToReferencedData.setConverter(referenceConverter); UpdateValueStrategy referencedDataToSelection = new UpdateValueStrategy(); IConverter referencetoDataConverter = new Converter(List.class, Document.class) { @Override public Object convert(Object dataList) { Document d = ((List<Document>) dataList).get(0); Collection<Document> inputDocs = (Collection<Document>) viewer.getInput(); for (Document doc : inputDocs) { if (doc.getName().equals(d.getName())) { return doc; } } return null; } }; referencedDataToSelection.setConverter(referencetoDataConverter); dataBindingContext.bindValue(ViewersObservables.observeSingleSelection(viewer), nameObservable, selectionToName, new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER)); dataBindingContext.bindValue(ViewersObservables.observeSingleSelection(viewer), contentObservable, selectionToContent, new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER)); dataBindingContext.bindValue(ViewersObservables.observeSingleSelection(viewer), returnTypeObservable, selectionToReturnType, new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER)); dataBindingContext.bindValue(ViewersObservables.observeSingleSelection(viewer), referenceObservable, selectionToReferencedData, referencedDataToSelection); dataBindingContext.bindValue(SWTObservables.observeText(typeText, SWT.Modify), returnTypeObservable); }
From source file:org.bonitasoft.studio.data.provider.JavaExpressionEditor.java
License:Open Source License
@Override public void bindExpression(EMFDataBindingContext dataBindingContext, EObject context, Expression inputExpression, ViewerFilter[] filters, ExpressionViewer expressionViewer) { editorInputExpression = inputExpression; setContentProvider(new PojoBrowserContentProvider()); javaTreeviewer.setContentProvider(getContentProvider()); Set<Data> input = new HashSet<Data>(); IExpressionProvider provider = ExpressionEditorService.getInstance() .getExpressionProvider(ExpressionConstants.VARIABLE_TYPE); for (Expression e : provider.getExpressions(context)) { Data data = (Data) e.getReferencedElements().get(0); if (data instanceof JavaObjectData || data.isMultiple()) { input.add(data);/*from ww w. jav a2s. c o m*/ } } viewer.setInput(input); IObservableValue contentObservable = EMFObservables.observeValue(inputExpression, ExpressionPackage.Literals.EXPRESSION__CONTENT); IObservableValue nameObservable = EMFObservables.observeValue(inputExpression, ExpressionPackage.Literals.EXPRESSION__NAME); final IObservableValue returnTypeObservable = EMFObservables.observeValue(inputExpression, ExpressionPackage.Literals.EXPRESSION__RETURN_TYPE); IObservableValue referenceObservable = EMFObservables.observeValue(inputExpression, ExpressionPackage.Literals.EXPRESSION__REFERENCED_ELEMENTS); UpdateValueStrategy selectionToName = new UpdateValueStrategy(); IConverter nameConverter = new Converter(Data.class, String.class) { @Override public Object convert(Object data) { if (data instanceof Data) { return ((Data) data).getName() + " - " + ((JavaObjectData) data).getClassName() + "#" + editorInputExpression.getContent(); } else if (data instanceof IMethod) { final JavaObjectData data2 = (JavaObjectData) editorInputExpression.getReferencedElements() .get(0); return data2.getName() + " - " + data2.getClassName() + "#" + ((IMethod) data).getElementName(); } return null; } }; selectionToName.setConverter(nameConverter); UpdateValueStrategy selectionToContent = new UpdateValueStrategy(); IConverter contentConverter = new Converter(Object.class, String.class) { @Override public Object convert(Object value) { if (value instanceof IMethod) { return ((IMethod) value).getElementName(); } Object selection = ((IStructuredSelection) viewer.getSelection()).getFirstElement(); if (selection instanceof Data) { return ((Data) selection).getName(); } return null; } }; selectionToContent.setConverter(contentConverter); UpdateValueStrategy methodToSelection = new UpdateValueStrategy(); IConverter methodToSelectionConverter = new Converter(String.class, IMethod.class) { @Override public Object convert(Object methodName) { IType type = ((PojoBrowserContentProvider) getContentProvider()).getType(); if (type != null) { try { for (IMethod method : type.getMethods()) { if (method.getElementName().equals(methodName)) { return method; } } } catch (JavaModelException e) { } } return null; } }; methodToSelection.setConverter(methodToSelectionConverter); UpdateValueStrategy selectionToReturnType = new UpdateValueStrategy(); IConverter returnTypeConverter = new Converter(IType.class, String.class) { @Override public Object convert(Object iType) { if (!editorInputExpression.isReturnTypeFixed()) { if (iType instanceof IMethod) { String qualifiedType = Object.class.getName(); try { qualifiedType = JavaModelUtil.getResolvedTypeName( Signature.getTypeErasure(((IMethod) iType).getReturnType()), ((IMethod) iType).getDeclaringType()); if ("int".equals(qualifiedType)) { qualifiedType = Integer.class.getName(); } else if ("boolean".equals(qualifiedType)) { qualifiedType = Boolean.class.getName(); } else if ("long".equals(qualifiedType)) { qualifiedType = Long.class.getName(); } else if ("float".equals(qualifiedType)) { qualifiedType = Float.class.getName(); } else if ("double".equals(qualifiedType)) { qualifiedType = Double.class.getName(); } else if ("short".equals(qualifiedType)) { qualifiedType = Short.class.getName(); } else if ("byte".equals(qualifiedType)) { qualifiedType = Byte.class.getName(); } else if ("E".equals(qualifiedType)) { qualifiedType = Object.class.getName(); } else if ("V".equals(qualifiedType)) { qualifiedType = Object.class.getName(); } } catch (Exception e) { BonitaStudioLog.error(e); } return qualifiedType; } else if (iType instanceof IType) { return ((IType) iType).getFullyQualifiedName(); } } else { return returnTypeObservable.getValue(); } return null; } }; selectionToReturnType.setConverter(returnTypeConverter); UpdateValueStrategy selectionToReferencedData = new UpdateValueStrategy(); IConverter referenceConverter = new Converter(Data.class, List.class) { @Override public Object convert(Object data) { if (data != null) { return Collections.singletonList(data); } else { return Collections.emptyList(); } } }; selectionToReferencedData.setConverter(referenceConverter); UpdateValueStrategy referencedDataToSelection = new UpdateValueStrategy(); IConverter referencetoDataConverter = new Converter(List.class, Data.class) { @Override public Object convert(Object dataList) { Data d = ((List<Data>) dataList).get(0); Collection<Data> inputData = (Collection<Data>) viewer.getInput(); for (Data data : inputData) { if (data.getName().equals(d.getName()) && data.getDataType().getName().equals(d.getDataType().getName())) { return data; } } return null; } }; referencedDataToSelection.setConverter(referencetoDataConverter); dataBindingContext.bindValue(ViewersObservables.observeSingleSelection(viewer), referenceObservable, selectionToReferencedData, referencedDataToSelection); dataBindingContext.bindValue(ViewersObservables.observeSingleSelection(viewer), nameObservable, selectionToName, new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER)); dataBindingContext.bindValue(ViewersObservables.observeSingleSelection(javaTreeviewer), nameObservable, selectionToName, new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER)); dataBindingContext.bindValue(ViewersObservables.observeSingleSelection(javaTreeviewer), contentObservable, selectionToContent, methodToSelection); dataBindingContext.bindValue(ViewersObservables.observeSingleSelection(javaTreeviewer), returnTypeObservable, selectionToReturnType, new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER)); dataBindingContext.bindValue(SWTObservables.observeText(typeText, SWT.Modify), returnTypeObservable); }