eclipse.org. Tom Schindl

Size: px
Start display at page:

Download "eclipse.org. Tom Schindl"

Transcription

1 eclipse.org Tom Schindl <tom.schindl@bestsolution.at> Blog: Website:

2 About Me CTO BestSolution.at Systemhaus GmbH Eclipse Committer e4 Platform EMF Project lead e(fx)clipse Blog: tomsondev.bestsolution.at Cooperate:

3

4 Tooling

5 Tooling News CSS-Editor - Add gradient editor

6 Tooling News CSS-Editor - Add gradient editor

7 Tooling News CSS-Editor - Support for custom controls

8 Tooling News Java-Editor - Wizard to generate JavaFX Getter/setters

9 Tooling News Java-Editor - Wizard to generate JavaFX Getter/setters

10 Tooling News FXML-Editor - Generating controller stub

11 Reuseable Tooling

12 Components for reuse

13 Components for reuse l10n-dsl: if you Java8, e4 and want dynamic language flipping

14 Components for reuse l10n-dsl: if you Java8, e4 and want dynamic language flipping RRobot-DSL: allows you to describe eclipse-project setups

15 Components for reuse l10n-dsl: if you Java8, e4 and want dynamic language flipping RRobot-DSL: allows you to describe eclipse-project setups LivePreview: Reuse the live preview to present your textual content in a visual way

16 Components for reuse l10n-dsl: if you Java8, e4 and want dynamic language flipping RRobot-DSL: allows you to describe eclipse-project setups LivePreview: Reuse the live preview to present your textual content in a visual way CSSExt-DSL: allows you to define your custom CSS- Properties

17 l10n

18 l10n-dsl

19 l10n-dsl DSL to define translations

20 l10n-dsl DSL to define translations Uses Xtext

21 l10n-dsl DSL to define translations Uses Xtext Generates code and text files

22 l10n-dsl DSL to define translations Uses Xtext Generates code and text files Requires Java8 Makes use of Java8 functional interfaces and method references

23 l10n-dsl DSL to store language definitions package sample.l10n.app.themes { bundle BasicMessages default en { HelloWorld { en : '''Hello World''', de : '''Hallo Welt''' bundle SamplePartMessages default en { Button_title [ BasicMessages.HelloWorld ] Current_Date(DATE now) { en : '''«now "MM/dd/yyyy"»''', de : '''«now "dd.mm.yyyy"»'''

24 l10n-dsl Generated artifacts ${bundle.java: e4 message class ${bundle.properties: Default transalations ${bundle_${lang.properties: Translations for the lang ${bundleregistry.java: Registry to use for binding

25 l10n-dsl Use in code (Sample JavaFX) package sample.l10n.app.themes; public class SamplePart SamplePartMessagesRegistry void init(borderpane pane) { Button b = new Button(); messagesreg.register(b::settext, messagesreg::button_title); pane.setcenter(b); Label l = new Label(); messagesreg.register(b::settext, messagesreg.current_date_supplier(new Date())); pane.settop(l);

26 l10n-dsl Use in code (Sample SWT) package sample.l10n.app.themes; public class SamplePart SamplePartMessagesRegistry void init(composite pane) { Button b = new Button(pane,SWT.PUSH); messagesreg.register(b::settext, messagesreg::button_title); Label l = new Label(pane,SWT.NONE); messagesreg.register(b::settext, messagesreg.current_date_supplier(new Date()));

27 Demo (Elementary)

28 RRobot-DSL

29 RRobot-DSL DSL to describe Eclipse project setups

30 RRobot-DSL DSL to describe Eclipse project setups Uses Xtext

31 RRobot-DSL DSL to describe Eclipse project setups Uses Xtext Allows to setup JDT Projects PDE-Projects Bundles & Features

32 RRobot-DSL RobotTask { // Variables to be used later on variables = { ## Name of the bundle STRING "BundleName" default "econsample" projects = { BundleProject "${BundleName" { manifest = ManifestFile "${BundleName" "1.0.0" "JavaSE-1.8" { bundlename = "${BundleName" vendor = "BestSolution.at" build = BuildProperties { resources = { Folder "src" rootfragments = { fragment "default-src" "src"

33 Demo (Run Task)

34 LivePreview

35 LivePreview LivePreview was developed for FXML/FXGraph immediate feedback

36 LivePreview LivePreview was developed for FXML/FXGraph immediate feedback Expects FXML passed

37 LivePreview LivePreview was developed for FXML/FXGraph immediate feedback Expects FXML passed LivePreview requests FXML from editors who adapt to IFXMLProviderAdapter

38 Demo (Elemenatry & Lego-DSL & FXML- Viewer)

39 LivePreview public class FXMLProviderAdapter implements IFXMLProviderAdapter { private XtextEditor editor; public FXMLProviderAdapter(XtextEditor editor) { this.editor = public IEditorPart geteditorpart() { return public String getpreviewfxml() { return editor.getdocument().readonly(new IUnitOfWork<String, XtextResource>() public String exec(xtextresource resource) throws Exception { Injector injector = LegoActivator.getInstance().getInjector("at.bestsolution.lego.Lego"); PreviewGenerator generator = injector.getinstance(previewgenerator.class); return generator.generatepreview((model) resource.getcontents().get(0)).tostring(); );

40 CSSExt-DSL

41 CSSExt-DSL CSS-Editor has NO hard coded properties

42 CSSExt-DSL CSS-Editor has NO hard coded properties Properties available are defined in an extra file ending with.cssext

43 CSSExt-DSL CSS-Editor has NO hard coded properties Properties available are defined in an extra file ending with.cssext CSS-Editor looks up.cssext-files from projects classpath

44 CSSExt-DSL package svg { prop_alignment-baseline = [ auto baseline before-edge text-before-edge middle central after-edge text-after-edge ideographic alphabetic hanging mathematical inherit ]; /** * */ tspan { /** * Documentation */ alignment-baseline <prop_alignment-baseline> default: auto;

45 Demo (SVG-CSS- Properties)

46

47 Runtime

48 Components for reuse

49 Components for @Service

50 Components for @Service Filesystem-Service

51 Components for @Service Filesystem-Service Controls Filesystem controls StyledText & JFace-Text-Port

52 @Log & Logger-API

53 @Log & Logger-API Simple slf4j like API Used internally by e(fx)clipse runtime Implementation provided as an OSGi-Service/ ServiceLoader

54 @Log & Logger-API Simple slf4j like API Used internally by e(fx)clipse runtime Implementation provided as an OSGi-Service/ ServiceLoader Multiple ways to consume Through OSGi-Service-Registry Through a factory Through DI

55 @Log & Logger-API

56 @Log & Logger-API public class OSGiComponent { private Logger public synchronized void setloggerfactory(loggerfactory factory) { this.logger = factory.createlogger(osgicomponent.class.getname());

57 @Log & Logger-API public class OSGiComponent { private Logger public synchronized void setloggerfactory(loggerfactory factory) { this.logger = factory.createlogger(osgicomponent.class.getname()); public class private Logger logger; Eclipse-DI

58 @Log & Logger-API public class OSGiComponent { private Logger public synchronized void setloggerfactory(loggerfactory factory) { this.logger = factory.createlogger(osgicomponent.class.getname()); public class private Logger logger; public class PlainJava { private static Logger logger = LoggerCreator.createLogger(PlainJava.class); Eclipse-DI Plain Java

59 @Log & Logger-API Current shipped backends java.util.logging (default) log4j slf4j

60 @ContextValue Allows you to abstract away IEclipseContext#modify

61 @ContextValue Allows you to abstract away IEclipseContext#modify public class ValuePublisherComponent private IEclipseContext context; public void publishcontext() { ListView<String> values = new ListView<>(); values.getselectionmodel().selecteditemproperty().addlistener( (o,newval,oldval) -> value.modify("contextvalue",newval));

62 @ContextValue Allows you to abstract away IEclipseContext#modify public class @Inject private ContextBoundValue<String> IEclipseContext context; value; public void publishcontext() { ListView<String> values = new ListView<>(); values.getselectionmodel().selecteditemproperty().addlistener( (o,newval,oldval) -> value.publish(newval)); value.modify("contextvalue",newval));

63 @ContextValue Allows you to abstract away IEclipseContext#modify public class @Inject private ContextBoundValue<String> Property<String> IEclipseContext context; value; value; public void publishcontext() { ListView<String> values = new ListView<>(); values.getselectionmodel().selecteditemproperty().addlistener( fxproperty.bind(values.getselectionmodel().selecteditemproperty()); (o,newval,oldval) -> value.publish(newval)); value.modify("contextvalue",newval));

64 @Service

65 @Service Eclipse DI by default does NOT conform to OSGi-Service semantics Services can come and go Requestor of services is important if a ServiceFactory is used

66 @Service public class DIServiceConsumer public void setservices(@service List<LoggerFactory> servicelist) public void setservices(@service LoggerFactory servicelist) {

67 Fileystem Service Service on top of NIO2 low level API

68 Fileystem Service Service on top of NIO2 low level API public class FilesystemSample extends Application public void start(stage primarystage) throws Exception { FilesystemService fs = Util.lookupService(FilesystemSample.class, FilesystemService.class); Subscription observepath = fs.observepath(paths.get(uri.create("file:/users/tomschindl")), (k,p) -> { System.err.print("filesystem item '"+p+"' has been "); switch (k) { case CREATE: System.err.println("created."); break; case DELETE: System.err.println("deleted."); break; default: System.err.println("modified."); break; ); //... observepath.dispose();

69 Filesystem controls

70 Filesystem controls Folder Viewer

71 Filesystem controls Folder Viewer Folder Content Viewer

72 Filesystem controls Folder Viewer File Content Viewer Folder Content Viewer

73 StyledText APIs Non Editable Text: StyledLabel & StyledString

74 StyledText APIs Non Editable Text: StyledLabel & StyledString StyledString s = new StyledString(); s.appendsegment("hello", "h1"); s.appendsegment("world!", "h1","colorful"); StyledLabel label = new StyledLabel(s);

75 StyledText APIs Non Editable Text: StyledLabel & StyledString StyledString s = new StyledString(); s.appendsegment("hello", "h1"); s.appendsegment("world!", "h1","colorful");.h1 { -fx-font-size: 20pt; StyledLabel label = new StyledLabel(s);.colorful { -fx-font-weight: bold; -fx-fill: linear-gradient( from 0.0% 0.0% to 100.0% 100.0%, rgb(128,179,128) 0.0, rgb(255,179,102) 100.0);

76 StyledText APIs StyledText in List/Table/TreeView

77 StyledText APIs StyledText in List/Table/TreeView public interface OutlineItem { public CharSequence getlabel(); public Node getgraphic(); public OutlineItem getparent(); public ObservableList<OutlineItem> getchildren();

78 StyledText APIs StyledText in List/Table/TreeView public interface OutlineItem { public CharSequence getlabel(); public Node getgraphic(); public OutlineItem getparent(); private TreeView<OutlineItem> public ObservableList<OutlineItem> createview() { getchildren(); TreeView<OutlineItem> outlineview = new TreeView<>(); outlineview.setshowroot(false); outlineview.setcellfactory(this::createcell); return outlineview; TreeCell<OutlineItem> createcell(treeview<outlineitem> param) { return new SimpleTreeCell<OutlineItem>( i -> i.getlabel(), i -> i.getgraphic(), i -> Collections.emptyList());

79 StyledText APIs Editable StyledText

80 StyledText APIs Editable StyledText StyledTextArea t = new StyledTextArea(); t.getcontent().settext("package test;\n\n "); t.setstyleranges( new StyleRange("keyword",0,6,null,null), /* */);

81 StyledText APIs Editable StyledText.keyword { -styled-text-color: rgb(127, 0, 85); -fx-font-weight: bold; StyledTextArea t = new StyledTextArea(); t.getcontent().settext("package test;\n\n "); t.setstyleranges( new StyleRange("keyword",0,6,null,null), /* */);

82 Compensator

83 Compensator

84 Compensator Mission 0: Must look slick!

85 Compensator Mission 0: Must look slick! Mission 1: Create a simple source editor like Notepad++ who: Is process light-weight Makes it easy to add new language highlightings

86 Compensator Mission 0: Must look slick! Mission 1: Create a simple source editor like Notepad++ who: Is process light-weight Makes it easy to add new language highlightings Mission 2: Allow the simple source editor to expand to a (simple) IDE: where Source-Editor, VCS (git), Ticketsystem (eg. github), CI (eg. travis) are core components fully integrated with each other Easy to integrate: Does not depend on core.resources

87 Compensator

88 Compensator

89 Demo (Basic- Editor + Python install)

90 Compensator - HSL+CSS

91 Compensator - HSL+CSS Python { partition dftl_partition_content_type partition python_multiline_comment partition python_singleline_comment partition python_string rule_damager rule_damager dftl_partition_content_type { default token python_default token python_string token python_operator token python_bracket token python_keyword_return token python_keyword keywords python_keyword_return [ "return" ] keywords python_keyword [ "and", "as", assert", /* */] rule_damager python_singleline_comment { default token python_single_line_comment /* */ rule_partitioner { single_line python_string '"' => '"' single_line python_singleline_comment "#" multi_line python_multiline_comment "'''" => "'''" single_line python_string "'" => "'" for "text/python"

92 Compensator - HSL+CSS Python { partition dftl_partition_content_type partition python_multiline_comment partition python_singleline_comment partition python_string rule_damager rule_damager dftl_partition_content_type { default token python_default token python_string token python_operator token python_bracket token python_keyword_return token python_keyword keywords python_keyword_return [ "return" ] keywords python_keyword [ "and", "as", assert", /* */] rule_damager python_singleline_comment { default token python_single_line_comment /* */ rule_partitioner { single_line python_string '"' => '"' single_line python_singleline_comment "#" multi_line python_multiline_comment "'''" => "'''" single_line python_string "'" => "'" for "text/python" /* */.Python.styled-text-area.python_doc_default { -styled-text-color: rgb(63, 95, 191);.Python.styled-text-area.python_single_line_comment { -styled-text-color: rgb(63, 127, 95); /* */

93 Demo

94

95

96 Compensator

97 Compensator - Roadmap Tighter integration with git workflow Improve Java autocomplete & Error Annotations Support for JavaScript auto-complete & error reporting Support for Xtext-Languages (their upcoming IntelliJ support should help us) Connect it to Flux to get a Flux Compensator

JavaFX Codeeditors. Tom Schindl

JavaFX Codeeditors. Tom Schindl JavaFX Codeeditors Tom Schindl Twitter: @tomsontom Blog: http://tomsondev.bestsolution.at Website: http://www.bestsolution.at About Me CTO BestSolution.at Systemhaus GmbH

More information

What s next for e4. Tom Schindl Website:

What s next for e4. Tom Schindl Website: What s next for e4 Tom Schindl Twitter: @tomsontom Website: http://www.bestsolution.at About Tom CTO BestSolution.at Systemhaus GmbH Eclipse Committer e4 Platform EMF Project

More information

About Tom. CEO BestSolution Systemhaus GmbH. Eclipse Committer. Platform UI EMF. Projectlead: UFaceKit, Nebula. Member of the Architectual Council

About Tom. CEO BestSolution Systemhaus GmbH. Eclipse Committer. Platform UI EMF. Projectlead: UFaceKit, Nebula. Member of the Architectual Council State of Eclipse 4.x Tom Schindl - BestSolution Systemhaus GmbH, Eric Moffatt IBM Leuven October 2011 About Tom CEO BestSolution Systemhaus GmbH Eclipse Committer e4 Platform UI EMF Projectlead: UFaceKit,

More information

e(fx)clipse APIs Tom Schindl Matthew Elliot

e(fx)clipse APIs Tom Schindl Matthew Elliot e(fx)clipse APIs Tom Schindl Matthew Elliot Twitter: @tomsontom Blog: http://tomsondev.bestsolution.at Website: http://www.bestsolution.at Website:

More information

The New Generation of the Eclipse Platform. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

The New Generation of the Eclipse Platform. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék The New Generation of the Eclipse Platform Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Eclipse RCP For developing client applications o Based on the Eclipse

More information

You, me and jigsaw. Tom Schindl

You, me and jigsaw. Tom Schindl You, me and jigsaw Tom Schindl Twitter: @tomsontom Blog: http://tomsondev.bestsolution.at Website: http://www.bestsolution.at About Tom CTO BestSolution.at Systemhaus GmbH

More information

Eclipse 4 Application Platform

Eclipse 4 Application Platform Eclipse 4 Application Platform Tom Schindl - BestSolution Systemhaus GmbH EclipseCon Nov 2011 About Tom CEO BestSolution Systemhaus GmbH Eclipse Committer e4 Platform UI EMF Projectlead: UFaceKit, Nebula

More information

Eclipse Platform Localization. The Luna Updates. Seite 1. codecentric AG

Eclipse Platform Localization. The Luna Updates. Seite 1. codecentric AG Eclipse Platform Localization The Luna Updates Seite 1 SPEAKER Seite 2 LOCALIZATION BASICS Properties File (e.g. bundle.properties) application=translation Service Example (OSGi) label_message=my Label...

More information

e4 Project 0.9 Release Review

e4 Project 0.9 Release Review e4 Project 0.9 Release Review July 30, 2009 Review communication channel: e4-dev@eclipse.org 1 Highlights 0.9 is a technology preview of interesting work happening in the e4 incubator This is not a commercial

More information

Eclipse 4 Eclipse Day Toulouse 24 mai 2012

Eclipse 4 Eclipse Day Toulouse 24 mai 2012 Eclipse 4 Eclipse Day Toulouse 24 mai 2012 OPC 12 ECD PRE E4A 01 A OPCOACH 2012 Table of contents I - Eclipse 4 5 A. Application Model... 10 B. E4 injection and annotations... 14 C. CSS Styling... 17

More information

RAP (The Rich Ajax Platform)

RAP (The Rich Ajax Platform) RAP (The Rich Ajax Platform) Eclipse Banking Day New York Jochen Krause RAP Project lead jkrause@eclipsesource.com 2008 EclipseSource December 2008 RAP enables building modular applications for web and

More information

Eclipse 4 Programming Model and Practices. Jin Mingjian

Eclipse 4 Programming Model and Practices. Jin Mingjian Eclipse 4 Programming Model and Practices Jin Mingjian Agenda Eclipse 4 and Kepler Programming Model Good Practices Random Thoughts Eclipse 4 Modeled UI modeling(mdd): EMF Dependency Injection home made

More information

46 Advanced Java for Bioinformatics, WS 17/18, D. Huson, December 21, 2017

46 Advanced Java for Bioinformatics, WS 17/18, D. Huson, December 21, 2017 46 Advanced Java for Bioinformatics, WS 17/18, D. Huson, December 21, 2017 11 FXML and CSS A program intended for interactive use may provide a large number of user interface (UI) components, as shown

More information

C15: JavaFX: Styling, FXML, and MVC

C15: JavaFX: Styling, FXML, and MVC CISC 3120 C15: JavaFX: Styling, FXML, and MVC Hui Chen Department of Computer & Information Science CUNY Brooklyn College 10/19/2017 CUNY Brooklyn College 1 Outline Recap and issues Styling user interface

More information

Single Sourceing for Eclipse 4.x and 3.x

Single Sourceing for Eclipse 4.x and 3.x Single Sourceing for Eclipse 4.x and 3.x Tom Schindl - BestSolution Systemhaus GmbH EclipseCon 2011 - March 21st 2011 About Me CEO BestSolution Systemhaus GmbH Eclipse Committer e4 Platform UI EMF Projectlead:

More information

JavaFX Basics. Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All rights reserved. 1.

JavaFX Basics. Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All rights reserved. 1. JavaFX Basics rights reserved. 1 Motivations JavaFX is a new framework for developing Java GUI programs. The JavaFX API is an excellent example of how the object-oriented principle is applied. This chapter

More information

Kai Tödter Siemens Corporate Technology

Kai Tödter Siemens Corporate Technology Kai Tödter Siemens Corporate Technology Objectives of e4 e4 Workbench Model Models & Rendering Other UI Models Services CSS Styling Demo Discussion 2 Making it easier to write plug-ins Allowing better

More information

Foundations of User Interface Programming Using the Eclipse Rich Client Platform

Foundations of User Interface Programming Using the Eclipse Rich Client Platform Foundations of User Interface Programming Using the Eclipse Rich Client Platform Tod Creasey IBM Canada Tod Creasey Foundations of User Interface Programming Using the Eclipse Rich Client Platform Page

More information

When Modeling meets Productivity. Sven Efftinge - itemis

When Modeling meets Productivity. Sven Efftinge - itemis When Modeling meets Productivity Sven Efftinge - itemis I Eclipse JDT I GIT So what s the Problem? It s the Language not the Tooling! Level of Abstraction Reuse existing, proven technology and apply

More information

Building Java Persistence API Applications with Dali 1.0 Shaun Smith

Building Java Persistence API Applications with Dali 1.0 Shaun Smith Building Java Persistence API Applications with Dali 1.0 Shaun Smith shaun.smith@oracle.com A little about Me Eclipse Dali JPA Tools Project Co-Lead Eclipse Persistence Services Project (EclipseLink) Ecosystem

More information

C16a: Model-View-Controller and JavaFX Styling

C16a: Model-View-Controller and JavaFX Styling CISC 3120 C16a: Model-View-Controller and JavaFX Styling Hui Chen Department of Computer & Information Science CUNY Brooklyn College 3/28/2018 CUNY Brooklyn College 1 Outline Recap and issues Model-View-Controller

More information

Comparison and merge use-cases from practice with EMF Compare

Comparison and merge use-cases from practice with EMF Compare Comparison and merge use-cases from practice with EMF Compare Laurent Delaigue Philip Langer EMF Compare Working with models Comparing text files EMF Compare Working with models Comparing models EMF Compare

More information

The JSF Tools Project

The JSF Tools Project The JSF Tools Project Eclipse Webinar Presentation Presenters Raghu Srinivasan, Project Lead, Oracle Inc. Cameron Bateman, Committer, Oracle Inc January 23, 2007 2007 by Raghu Srinivasan, Oracle Inc; made

More information

Developing Rich Clients with Eclipse 4.x RCP

Developing Rich Clients with Eclipse 4.x RCP Developing Rich Clients with Eclipse 4.x RCP Kai Tödter, Siemens AG Tom Schindl, BestSolution.at 3/20/2011 Kai Tödter and others, Licensed under Creative Commons Attribution-Noncommercial-No Derivative

More information

EMF Databinding. Tom Schindl - BestSolution Systemhaus GmbH. JAX May 2nd 2011

EMF Databinding. Tom Schindl - BestSolution Systemhaus GmbH. JAX May 2nd 2011 EMF Databinding Tom Schindl - BestSolution Systemhaus GmbH JAX 2011 - May 2nd 2011 About Me CEO BestSolution Systemhaus GmbH Eclipse Committer e4 Platform UI EMF Projectlead: UFaceKit, Nebula Member of

More information

Eclipse and Framework Extension Languages

Eclipse and Framework Extension Languages Eclipse and Framework Extension Languages Prof. Uwe Aßmann TU Dresden Institut für Software und Multimediatechnik Lehrstuhl Softwaretechnologie Design Patterns and Frameworks, Prof. Uwe Aßmann 1 References

More information

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Copyright 2013, Oracle and/or its affiliates. All rights reserved. 1 JavaFX for Desktop and Embedded Nicolas Lorain Java Client Product Management Nicolas.lorain@oracle.com @javafx4you 2 The preceding is intended to outline our general product direction. It is intended

More information

Eclipse 4. Brian de Alwis. Abstract

Eclipse 4. Brian de Alwis. Abstract Eclipse 4 Brian de Alwis Abstract This year's Juno release sees the mainstream deployment of Eclipse 4, the new application platform from the Eclipse Foundation. Over four years in the making, Eclipse

More information

Scripting Languages in OSGi. Thursday, November 8, 12

Scripting Languages in OSGi. Thursday, November 8, 12 Scripting Languages in OSGi Frank Lyaruu CTO Dexels Project lead Navajo Framework Amsterdam www.dexels.com Twitter: @lyaruu Navajo Framework TSL XML based script language Compiled to Java Recently ported

More information

Testing Eclipse plug-ins: Tips & Tricks

Testing Eclipse plug-ins: Tips & Tricks Testing Eclipse plug-ins: Tips & Tricks Lorenzo Bettini DISIA University Firenze, Italy Vincenzo Caselli Francesco Guidieri RCP-Vision, Firenze, Italy EclipseCon Europe 2017 Project Quality Day Motivations

More information

Technical Debt in Eclipse Development. Eclipse Con France 2018

Technical Debt in Eclipse Development. Eclipse Con France 2018 Technical Debt in Eclipse Development Eclipse Con France 2018 13 June 2018 Table of content I - Technical debt in your RCP application 5, June 2018 3 Technical debt in your RCP application I- I Who?

More information

20. Eclipse and Framework Extension Languages

20. Eclipse and Framework Extension Languages 20. Eclipse and Framework Extension Languages Prof. Uwe Aßmann TU Dresden Institut für Software und Multimediatechnik Lehrstuhl Softwaretechnologie Version 11-1.0, 12/17/11 Design Patterns and Frameworks,

More information

TestingofScout Application. Ludwigsburg,

TestingofScout Application. Ludwigsburg, TestingofScout Application Ludwigsburg, 27.10.2014 The Tools approach The Testing Theory approach Unit testing White box testing Black box testing Integration testing Functional testing System testing

More information

The Next Generation of Eclipse: e4. Mike Milinkovich Executive Director Eclipse Foundation

The Next Generation of Eclipse: e4. Mike Milinkovich Executive Director Eclipse Foundation The Next Generation of Eclipse: e4 Mike Milinkovich Executive Director Eclipse Foundation 1 Changing Environment New Technologies: RIA Applications and Cloud Computing AJAX, Flash, Silverlight Amazon E2

More information

Eclipse Platform Rise and Shine Javaland 2016

Eclipse Platform Rise and Shine Javaland 2016 Eclipse Platform Rise and Shine Javaland 2016 Lars Vogel https://twitter.com/vogella Disclaimer: No API talk here, its more a state of the art about Eclipse talk Lars Vogel Eclipse PMC member Platform

More information

Workbench and JFace Foundations. Part One, of a two part tutorial series

Workbench and JFace Foundations. Part One, of a two part tutorial series Workbench and JFace Foundations Part One, of a two part tutorial series 2005 by IBM; made available under the EPL v1.0 Date: February 28, 2005 About the Speakers Tod Creasey Senior Software Developer,

More information

Semantic Web T LS Update

Semantic Web T LS Update Semantic Web Tools Update Semantic Web T LS Update Presented at the DARPA DAML PI Conference 25 May 04 By Troy Self Jeremy Lerner Ryan Owens InfoEther Agenda Semantic Web Central Ryan Owens InfoEther Semantic

More information

COMP1406 Tutorial 5. Objectives: Getting Started: Tutorial Problems:

COMP1406 Tutorial 5. Objectives: Getting Started: Tutorial Problems: COMP1406 Tutorial 5 Objectives: Learn how to create a window with various components on it. Learn how to create a Pane and use it in more than one GUI. To become familiar with the use of Buttons, TextFields

More information

The Definitive Guide to. NetBeans Platform 7. Heiko Bock. Apress*

The Definitive Guide to. NetBeans Platform 7. Heiko Bock. Apress* The Definitive Guide to NetBeans Platform 7 Heiko Bock Apress* Contents About the Author About the Translator About the Technical Reviewers Acknowledgments Introduction xiv xiv xv xvi xvii * Part 1: Basics

More information

The Eclipse Rich Client Platform

The Eclipse Rich Client Platform The Eclipse Rich Client Platform Slides by various members of the Eclipse JDT and Platform teams Slides 2004 IBM Corporation Outline Rich Client Application? The Eclipse Plug-in Architecture Eclipse Plug-ins

More information

Getting the Most from Eclipse

Getting the Most from Eclipse Getting the Most from Eclipse Darin Swanson IBM Rational Portland, Oregon Darin_Swanson@us.ibm.com March 17, 2005 What is Eclipse An extensible tools platform Out-of-box function and quality to attract

More information

Smart Client development with the Eclipse Rich Client Platform

Smart Client development with the Eclipse Rich Client Platform Smart Client development with the Eclipse Rich Client Platform Nick Edgar and Pascal Rapicault IBM Rational Software Ottawa, Ontario Eclipse Platform Committers To contact us: news://news.eclipse.org/eclipse.platform.rcp

More information

GlassFish V3. Jerome Dochez. Sun Microsystems, Inc. hk2.dev.java.net, glassfish.dev.java.net. Session ID YOUR LOGO HERE

GlassFish V3. Jerome Dochez. Sun Microsystems, Inc. hk2.dev.java.net, glassfish.dev.java.net. Session ID YOUR LOGO HERE YOUR LOGO HERE GlassFish V3 Jerome Dochez Sun Microsystems, Inc. hk2.dev.java.net, glassfish.dev.java.net Session ID 1 Goal of Your Talk What Your Audience Will Gain Learn how the GlassFish V3 groundbreaking

More information

Patterns and Best Practices for dynamic OSGi Applications

Patterns and Best Practices for dynamic OSGi Applications Patterns and Best Practices for dynamic OSGi Applications Kai Tödter, Siemens Corporate Technology Gerd Wütherich, Freelancer Martin Lippert, akquinet it-agile GmbH Agenda» Dynamic OSGi applications» Basics»

More information

Migration to E4. Eclipse Con France 2016

Migration to E4. Eclipse Con France 2016 Migration to E4 Eclipse Con France 2016 8th June 2016 Table des matières I - Migration to E4 5 A. Presentation... 6 B. Migration to E4... 6 C. Migration tooling... 9 D. Model Fragments and Processors...

More information

Computational Expression

Computational Expression Computational Expression Graphics Janyl Jumadinova 6 February, 2019 Janyl Jumadinova Computational Expression 6 February, 2019 1 / 11 Java Graphics Graphics can be simple or complex, but they are just

More information

Comparing graphical DSL editors

Comparing graphical DSL editors Comparing graphical DSL editors AToM 3 vs GMF & MetaEdit+ Nick Baetens Outline Introduction MetaEdit+ Specifications Workflow GMF Specifications Workflow Comparison 2 Introduction Commercial Written in

More information

Web Applica+on Development. Budapes( Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Web Applica+on Development. Budapes( Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Web Applica+on Development Budapes( Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék UI Development Trends Desktop applica+ons Opera+ng system integra+on Rich set of

More information

SpringSource Tool Suite 2.7.1

SpringSource Tool Suite 2.7.1 SpringSource Tool Suite 2.7.1 - New and Noteworthy - Martin Lippert 2.7.1 July 12, 2011 Updated for 2.7.1.RELEASE ENHANCEMENTS 2.7.1 General Updates Spring Roo 1.1.5 STS now ships and works with the just

More information

Developing Eclipse Rich-Client Applications Tutorial

Developing Eclipse Rich-Client Applications Tutorial Developing Eclipse Rich-Client Applications Tutorial Dr. Frank Gerhardt Gerhardt Informatics Kft. fg@gerhardtinformatics.com Michael Scharf Wind River eclipsecon@scharf.gr 2008 by Frank Gerhardt and Michael

More information

Eclipse (1/3) Deepak Dhungana Institute for System Engineering and Automation

Eclipse (1/3) Deepak Dhungana Institute for System Engineering and Automation Eclipse (1/3) Deepak Dhungana dhungana@ase.jku.at Institute for System Engineering and Automation Thomas Wuerthinger wuerthinger@ssw.jku.at Institute for System Software Johannes Kepler University Linz,

More information

Regular Forum of Lreis. Speechmaker: Gao Ang

Regular Forum of Lreis. Speechmaker: Gao Ang Regular Forum of Lreis Speechmaker: Gao Ang Content: A. Overview of Eclipse Project B. Rich Client Platform C. The progress of ustudio Project D. The development of Grid technology and Grid GIS E. Future

More information

XWT Declarative UI for Eclipse

XWT Declarative UI for Eclipse XWT Declarative UI for Eclipse Yves YANG (Soyatec) Contents What is XWT? Architecture XWT Fundamentals JFace integration Component and Data View Management Integration with Existing Application Binding

More information

gedit developer plugins Configuring and extending gedit for development

gedit developer plugins Configuring and extending gedit for development gedit developer plugins Configuring and extending gedit for development What is gedit? gedit is a simple text editor with support for syntax highlighting that can be extended for new uses See https://live.gnome.org/gedit

More information

ABAP DSL Workbench SAP TechED 2016

ABAP DSL Workbench SAP TechED 2016 ABAP DSL Workbench SAP TechED 2016 Barcelona, November 2016-0 - Hello. Hello. Example Asia Diner Yes? Number 77. Take away? No. Hello. Hello. Hello. Hello. As always? Yes. As always? Yes. Where are the

More information

Domain Specific Languages. Product Line Engineering

Domain Specific Languages. Product Line Engineering Using Domain Specific Languages in the context of Product Line Engineering Markus Voelter Independent/itemis voelter@acm.org Using Domain Specific Languages in the context of Product Line Engineering DSLs

More information

DRAFT. Consolidation of the Generator Infrastructure MDGEN Model Driven Generation

DRAFT. Consolidation of the Generator Infrastructure MDGEN Model Driven Generation Consolidation of the Generator Infrastructure MDGEN Model Driven Generation Date: October 16 th, 2012 Produced by: Mario Lovisi / Serano Colameo Version: 1.0 DRAFT Agenda Initial Situation / Goal of the

More information

Embracing. with. Noopur Gupta. Eclipse JDT co-lead. IBM

Embracing. with. Noopur Gupta. Eclipse JDT co-lead. IBM Embracing Noopur Gupta Eclipse JDT co-lead IBM India with noopur_gupta@in.ibm.com @noopur2507 1 JUnit Framework JUnit 4.0 Released in 2006 JUnit 5.0 Released in September 2017 The top 20 Java libraries

More information

Introduction to EGF. Benoît Langlois / Thales Global Services.

Introduction to EGF. Benoît Langlois / Thales Global Services. www.thalesgroup.com Introduction to EGF Benoît Langlois / Thales Global Services 2 / Agenda Introduction EGF Architecture Concepts & Practice EGF Portfolios 3 / Agenda Introduction EGF Architecture Concepts

More information

WindowBuilder Graduation & Release Review

WindowBuilder Graduation & Release Review WindowBuilder Graduation & 1.0.0 Release Review http://www.eclipse.org/windowbuilder Planned Review Date: June 2011 Communication Channel: WindowBuilder Forum Eric Clayberg (Project Lead) 1 History Smalltalk

More information

Quick & Easy Desktop Development with NetBeans and its HTML/JAVA API

Quick & Easy Desktop Development with NetBeans and its HTML/JAVA API Quick & Easy Desktop Development with NetBeans and its HTML/JAVA API Ioannis (John) Kostaras FOSDEM 2-3 February 2019 FOSDEM 2019 API Ioannis Kostaras 1 Context (Apache) NetBeans Rich Client Platform Desktop

More information

Mind Q Systems Private Limited

Mind Q Systems Private Limited Software Testing Tools Introduction Introduction to software Testing Software Development Process Project Vs Product Objectives of Testing Testing Principals Software Development Life Cycle SDLC SDLC Models

More information

Selenium Course Content

Selenium Course Content Chapter 1 : Introduction to Automation Testing Selenium Course Content What is automation testing? When Automation Testing is needed? When Automation Testing is not needed? What is the use of automation

More information

McAffer_Index.qxd 9/20/2005 9:39 AM Page 495. Index

McAffer_Index.qxd 9/20/2005 9:39 AM Page 495. Index McAffer_Index.qxd 9/20/2005 9:39 AM Page 495 Index A Action (in Eclipse) ActionBarAdvisor 51, 227, 261, 280 Action extension points 231 actions in Hyperbola multiple product configurations 388 adding actions

More information

Advanced User Interface Programming Using the Eclipse Rich Client Platform

Advanced User Interface Programming Using the Eclipse Rich Client Platform Advanced User Interface Programming Using the Eclipse Rich Client Platform Tod Creasey IBM Canada Tod Creasey Advanced User Interface Programming Using the Eclipse Rich Client Platform Page 1 About the

More information

DotNetNuke 5.1 Superuser Manual

DotNetNuke 5.1 Superuser Manual DotNetNuke 5.1 Superuser Manual Administration DotNetNuke Corporation 1825 S. Grant St. Suite 240 San Mateo, CA 94402 www.dotnetnuke.com 650.288.3150 Copyright 2009, DotNetNuke Corporation. All Rights

More information

JavaFX. Getting Started with JavaFX Scene Builder Release 1.1 E

JavaFX. Getting Started with JavaFX Scene Builder Release 1.1 E JavaFX Getting Started with JavaFX Scene Builder Release 1.1 E25448-03 October 2013 JavaFX Getting Started with JavaFX Scene Builder, Release 1.1 E25448-03 Copyright 2012, 2013 Oracle and/or its affiliates.

More information

Start Up Benoît Langlois / Thales Global Services Eclipse (EMFT) EGF 2011 by Thales; made available under the EPL v1.

Start Up Benoît Langlois / Thales Global Services Eclipse (EMFT) EGF 2011 by Thales; made available under the EPL v1. www.thalesgroup.com Start Up Benoît Langlois / Thales Global Services 2 / Introduction EGF Architecture Concepts & Practice EGF Portfolios 3 / Introduction EGF Architecture Concepts & Practice EGF Portfolios

More information

The Eclipse Rich Ajax Platform

The Eclipse Rich Ajax Platform The Eclipse Rich Ajax Platform Frank Appel RAP Tech Lead fappel@innoopract.com Eclipse RAP 1.1 Copyright Innoopract made available under the EPL 1.0 page: 1 The Innoopract pitch Integration & delivery

More information

JavaFX Application Structure. Tecniche di Programmazione A.A. 2017/2018

JavaFX Application Structure. Tecniche di Programmazione A.A. 2017/2018 JavaFX Application Structure Tecniche di Programmazione Application structure Introduction to JavaFX Empty JavaFX window public class Main extends Application { @Override public void start(stage stage)

More information

Eclipse Modeling Framework (EMF) Paweł Żalejko

Eclipse Modeling Framework (EMF) Paweł Żalejko Eclipse Modeling Framework (EMF) Paweł Żalejko Agenda Model-Driven Development What is EMF? EMF demo - hello world EMF demo - command stack & adapters EMF demo - data binding & validation EMF demo - generating

More information

Constructor Injection and other new features in Declarative Services 1.4. BJ Hargrave, IBM

Constructor Injection and other new features in Declarative Services 1.4. BJ Hargrave, IBM Constructor Injection and other new features in Declarative Services 1.4 BJ Hargrave, IBM Declarative Services A declarative model for publishing and consuming OSGi services Introduced in Release 4 in

More information

Adobe RoboHelp (2019 release)

Adobe RoboHelp (2019 release) (2019 release) An all-new way to create for you. An amazing experience for your customers. Version comparison chart Available 11 2015 release 2017 release 2019 release Authoring Productivity Snippets within

More information

CHAPTER 1: A GENERAL INTRODUCTION TO PROGRAMMING 1

CHAPTER 1: A GENERAL INTRODUCTION TO PROGRAMMING 1 INTRODUCTION xxii CHAPTER 1: A GENERAL INTRODUCTION TO PROGRAMMING 1 The Programming Process 2 Object-Oriented Programming: A Sneak Preview 5 Programming Errors 6 Syntax/Compilation Errors 6 Runtime Errors

More information

WebStorm, intelligent IDE for JavaScript development

WebStorm, intelligent IDE for JavaScript development , intelligent IDE for JavaScript development JetBrains is a powerful Integrated development environment (IDE) built specifically for JavaScript developers. How does match up against competing tools? Product

More information

CS5233 Components Models and Engineering

CS5233 Components Models and Engineering Prof. Dr. Th. Letschert CS5233 Components Models and Engineering (Komponententechnologien) Master of Science (Informatik) OSGI Bundles and Services Slides on OSGi are based on OSGi Alliance: OSGi Service

More information

Lesson learned from using EMF to build Desktop & Web Applications. Ludwigsburg, Oct

Lesson learned from using EMF to build Desktop & Web Applications. Ludwigsburg, Oct Lesson learned from using EMF to build Desktop & Web Applications Ludwigsburg, Oct 26 2017 About us Lorenzo Bettini Dip. Informatica, Univ. Firenze, Italy bettini@disia.unifi.it @lorenzo_bettini www.lorenzobettini.it

More information

Mobile Application Workbench. SAP Mobile Platform 3.0 SP02

Mobile Application Workbench. SAP Mobile Platform 3.0 SP02 SAP Mobile Platform 3.0 SP02 DOCUMENT ID: DC-01-0302-01 LAST REVISED: January 2014 Copyright 2014 by SAP AG or an SAP affiliate company. All rights reserved. No part of this publication may be reproduced

More information

m2e 1.2 Release Review

m2e 1.2 Release Review m2e 1.2 Release Review Planned Review Date: [Date] Communcation Channel: m2e-dev@eclipse.org Igor Fedorenko (ifedorenko@sonatype.com) Jason van Zyl (jason@sonatype.com) Introduction m2e provides both a

More information

ECLIPSE RICH CLIENT PLATFORM

ECLIPSE RICH CLIENT PLATFORM ECLIPSE RICH CLIENT PLATFORM DESIGNING, CODING, AND PACKAGING JAVA TM APPLICATIONS Jeff McAffer Jean-Michel Lemieux v:addison-wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto

More information

RobertaLab: Configuration, Architecture, Frameworks, Design

RobertaLab: Configuration, Architecture, Frameworks, Design Roberta Seite 1 RobertaLab: Configuration, Architecture, Frameworks, Design reinhard.budde at iais.fraunhofer.de version 0.3 002014 12:57 Overview The system consists out of three distributed components,

More information

Eclipse Building Commercial-Quality Plug-ins Second Edition

Eclipse Building Commercial-Quality Plug-ins Second Edition Eclipse Building Commercial-Quality Plug-ins Second Edition Eric Clayberg Dan Rubel v:addison-wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Paris

More information

OOP Lab Factory Method, Singleton, and Properties Page 1

OOP Lab Factory Method, Singleton, and Properties Page 1 OOP Lab Factory Method, Singleton, and Properties Page 1 Purpose What to Submit 1. Practice implementing a factory method and singleton class. 2. Enable the Purse application to handle different kinds

More information

SCA Tools: new & noteworthy

SCA Tools: new & noteworthy SCA Tools: new & noteworthy Vincent Zurczak ( EBM WebSourcing ) A large part of the SCA Tools project was implemented in the scope of the SCOrWare project funded by the French Research National Agency

More information

Selenium Training. Training Topics

Selenium Training. Training Topics Selenium Training Training Topics Chapter 1 : Introduction to Automation Testing What is automation testing? When Automation Testing is needed? When Automation Testing is not needed? What is the use of

More information

ANGULAR 2.X,4.X + TYPESRCIPT by Sindhu

ANGULAR 2.X,4.X + TYPESRCIPT by Sindhu ANGULAR 2.X,4.X + TYPESRCIPT by Sindhu GETTING STARTED WITH TYPESCRIPT Installing TypeScript Compiling the code Building a simple demo. UNDERSTANDING CLASSES Building a class Adding properties Demo of

More information

Eclipse Project 3.6 Release Review

Eclipse Project 3.6 Release Review Eclipse Project 3.6 Release Review Eclipse Project PMC 1 Highlights 3.6 new features: New platforms: PPC-64, Ubuntu LTS, Windows 7 Flexible resources, open file from command line, WebKitGTK+ browser, help

More information

Tuscany: Applying OSGi modularity after the fact

Tuscany: Applying OSGi modularity after the fact Tuscany: Applying OSGi modularity after the fact Luciano Resende lresende@apache.org http://lresende.blogspot.com Raymond Feng rfeng@apache.org Agenda Introduction and Motivation Status of current Tools

More information

Selenium Testing Course Content

Selenium Testing Course Content Selenium Testing Course Content Introduction What is automation testing? What is the use of automation testing? What we need to Automate? What is Selenium? Advantages of Selenium What is the difference

More information

Eclipse PDE and Bndtools

Eclipse PDE and Bndtools An Epic Split between OSGi Tooling Eclipse PDE and Bndtools created by Peter Kirschner for EclipseCon Europe 2014 Seminarräume 1-3 - Wednesday, October 29, 2014-10:30 to 11:05 copyright for Epic Split

More information

SpringSource Tool Suite M2

SpringSource Tool Suite M2 SpringSource Tool Suite 2.7.0.M2 - New and Noteworthy - Martin Lippert 2.7.0.M2 June 13, 2011 Updated for 2.7.0.M2 ENHANCEMENTS 2.7.0.M2 General Updates Memory Settings We raised the default memory settings

More information

Patterns and Best Practices for Dynamic OSGi Applications

Patterns and Best Practices for Dynamic OSGi Applications Patterns and Best Practices for Dynamic OSGi Applications Kai Tödter, Siemens Corporate Technology Gerd Wütherich, Freelancer Martin Lippert, akquinet it-agile GmbH Agenda» Dynamic OSGi applications» Basics»

More information

Test-Driven Development JUnit

Test-Driven Development JUnit Test-Driven Development JUnit Click to edit Master EECS text 2311 styles - Software Development Project Second level Third level Fourth level Fifth level Wednesday, January 18, 2017 1 Simulator submission

More information

RubyMine, the most advanced Ruby and Rails IDE

RubyMine, the most advanced Ruby and Rails IDE RubyMine, the most advanced Ruby and Rails IDE JetBrains RubyMine is a powerful Integrated development environment (IDE) built specifically for Ruby and Rails developers. How does RubyMine match up against

More information

Basic Keywords Practice Session

Basic Keywords Practice Session Basic Keywords Practice Session Introduction In this article from my free Java 8 course, we will apply what we learned in my Java 8 Course Introduction to our first real Java program. If you haven t yet,

More information

with openarchitectureware

with openarchitectureware Model-Driven Development with openarchitectureware Markus Völter voelter@acm.orgorg www.voelter.de Sven Efftinge sven@efftinge.de www.efftinge.de Bernd Kolb bernd@kolbware.de www.kolbware.de 2006-7 Völter,

More information

What Every Xtext User Wished to Know Industry Experience of Implementing 80+ DSLs

What Every Xtext User Wished to Know Industry Experience of Implementing 80+ DSLs What Every Xtext User Wished to Know Industry Experience of Implementing 80+ DSLs EclipseCon Europe 2016 2016-10-26 Roman Mitin Avaloq Evolution AG Allmendstrasse 140 8027 Zurich Switzerland T +41 58 316

More information

Eclipse Architecture and Patterns. Mirko Stocker. Advanced Patterns and Frameworks May, 2015 IFS INSTITUTE FOR SOFTWARE

Eclipse Architecture and Patterns. Mirko Stocker. Advanced Patterns and Frameworks May, 2015 IFS INSTITUTE FOR SOFTWARE Eclipse Architecture and Patterns Mirko Stocker Advanced Patterns and Frameworks May, 2015 IFS INSTITUTE FOR SOFTWARE Outline 1 Eclipse Overview 2 SWT and JFace 3 OSGi Bundles and Eclipse Plug-ins 4 Eclipse

More information

Eclipse b3. Eclipse Project Creation Review. November, 2009 Henrik Lindberg, Cloudsmith Inc. Project Creation Review

Eclipse b3. Eclipse Project Creation Review. November, 2009 Henrik Lindberg, Cloudsmith Inc. Project Creation Review Eclipse b3 Eclipse Project Creation Review November, 2009 Henrik Lindberg, Cloudsmith Inc 2009 Cloudsmith Inc. Made available under EPL Public License v1.0 1 b3 objectives to develop a new generation of

More information

Introduction to Ceylon. Stéphane Épardaud Red Hat

Introduction to Ceylon. Stéphane Épardaud Red Hat Introduction to Ceylon Stéphane Épardaud Red Hat Executive summary What is Ceylon Why Ceylon Features and feel Demo The community Status 2 About Stéphane Épardaud Open-Source projects RESTEasy, Ceylon

More information