Is Docker Eating Java's Lunch?

by Peter Kriens (noreply@blogger.com) at August 29, 2014 09:32 AM

The reason I've put up with Java's deficiencies so long (ok, now with Lambda's it is finally starting to become a real language) is that I truly believe in the 'Write once, run anywhere' mantra. I've never understood why you want to write software that is not reusable and thus portable. Java achieved its portability by creating an abstract API for the interaction with the host Operating System (

by Peter Kriens (noreply@blogger.com) at August 29, 2014 09:32 AM

Welcome to the new Eclipse IoT Top-level Project

by Ian Skerrett at August 28, 2014 07:06 PM

I am thrilled to announce the Eclipse Board of Directors has formally approved the creation of the Eclipse IoT top-level project. This is an important milestone for our vision of creating an open source community that is creating the technology to power the Internet of Things (IoT).

Less than two years ago we created the IoT Working Group to start a collaboration between vendors that saw a need for a vendor neutral open source community. Companies like IBM, Sierra Wireless and Eurotech were instrumental in setting the vision. In those two years the community has grown to 15 different open source projects. We have developed a vibrant, innovative community that is delivering technology today. Due to this success, it was time to formally create a top-level project that would help guide and mentor the IoT projects.   The creation of the IoT top-level project will allow us to grow and scale the IoT community to address the needs of the IoT industry.

The Eclipse IoT top-level project will be led by Jens Reimann (Eclipse SCADA project leader)  and Kai Kreuzer (Eclipse SmartHome project leader). Both Jens and Kai have been great leaders in our IoT community and it is awesome to have them lead the PMC. If you would like to follow the working of the PMC please subscribe to their mailing list.

Moving forward, the new IoT top-level project will work very closely with the IoT working group. We are well on our way to fulfilling our vision of being the open source community for IoT.

 

 



by Ian Skerrett at August 28, 2014 07:06 PM

Eclipse Newsletter - Creating your own language with Xtext

August 28, 2014 02:53 PM

This month we're all about Xtext, a framework for creating your own programming language and domain-specific language.

August 28, 2014 02:53 PM

How to easy customize Gerrit Submit rules

by Dariusz Łuksza at August 27, 2014 09:33 PM

Gerrit submit rule is a set of conditions that needs to be fulfilled before change can be submitter (read merged) to given branch. By default there are only two simple conditions: Verified +1 (V+1) Code Review +2 (CR+2) First one means that change don’t break the build (or project integrity). This step can (and it […]

by Dariusz Łuksza at August 27, 2014 09:33 PM

EclipseSource goes Austrian!

by Maximilian Koegel at August 27, 2014 11:15 AM

We are happy to announce that EclipseSource is going to Austria! Effective today, there is an EclipseSource division in Austria with an office in Vienna. Philip (Langer) is leading our office in Vienna and is bringing solid Eclipse Modeling Framework experience to our team with a focus on software modeling as well as model collaboration, versioning and simulation. Furthermore, he will drive innovation in modeling with his tight links to Vienna University of Technology.

With our expansion to Vienna, we can now accommodate our customers in Austria even better and enhance our team with more modeling experts.

Contact us with your projects in Austria. We are looking forward to it.

 EclipseSource goes Austrian!

Photo by John Menard, Licensed under CC on flickr.


TwitterGoogle+LinkedInFacebook

Leave a Comment. Tagged with Austria, eclipse, EclipseSource, emf, Austria, eclipse, EclipseSource, emf


by Maximilian Koegel at August 27, 2014 11:15 AM

LiClipse 1.1.1: Minimap default, YAML and StringTemplate supported

by Fabio Zadrozny (noreply@blogger.com) at August 27, 2014 12:48 AM

LiClipse 1.1.1 has just been released.

The major change in this release is that the minimap is enabled by default (for PyDev and LiClipse editors). With this change, the scrollbars are now also hidden by default. It's still possible to revert to the old style in the minimap preferences (but for me the current style is much better -- especially when using dark themes).

Below is a snapshot showing a 2.000 lines file in the editor... unfortunately I wasn't able to remove the scrollbars in the tree (believe me, I've tried), but without the scrollbars in the editor, it's already much nicer!



Besides that, StringTemplate and YAML are now also supported.

And at last, it's possible to debug Django Templates by adding breakpoints (in the LiClipse HTML or Django Templates editors).

by Fabio Zadrozny (noreply@blogger.com) at August 27, 2014 12:48 AM

EMF Forms Rendering

by Maximilian Koegel at August 26, 2014 04:16 PM

EMF Forms is a component of the EMF Client Platform project that provides a form-based User Interface to display and edit your data, a.k.a. the entities of your application. The UI is rendered based on a view model at runtime and provides an out-of-the-box experience while being highly customizable. If you are not familiar with EMF Forms yet, please read this tutorial.

We have just updated the documentation with more information how rendering in EMF Forms works in the 1.3 release with details on prioritization, styling and layouts and how they can be influenced and customized. The new documentation can be found here.

 26 08 2014 18 16 17 EMF Forms Rendering


TwitterGoogle+LinkedInFacebook

Leave a Comment. Tagged with eclipse, emf, EMF Client Platform, emfforms, Rendering, eclipse, emf, EMF Client Platform, emfforms, Rendering


by Maximilian Koegel at August 26, 2014 04:16 PM

MQTT on the TI CC3200 LaunchPad thanks to Paho embedded client

by Benjamin Cabé at August 26, 2014 10:33 AM

What I really like with MQTT and CoAP is that they both are very simple protocols. When dealing with MQTT, the client itself has almost no state to maintain (at least when you stick to QoS 0 communications) and granted that you have an MQTT packet serializer/unserializer, it’s very simple to stuff such MQTT packets into TCP sockets using the networking APIs that your IoT microcontroller is providing.

I’ve had the opportunity to play with the TI CC3200 LaunchPad platform recently, and thought it would be a good candidate to try out the Paho embedded C Client.

The tutorial below, split into two parts (publishing and subscribing), gives a complete overview on how you can very easily port MQTT to the CC3200 and should probably be useful if you’re targeting another kind of platform, as it walks you through the process of tying in with the networking API of the underlying platform (TI SimpleLink™ in CC3200′s case)


by Benjamin Cabé at August 26, 2014 10:33 AM

Graphical Views for Xtext ctd.

by Jan Köhnlein (noreply@blogger.com) at August 26, 2014 09:14 AM

(Read my previous post for a rationale on graphical views)

No matter with what graphics technology you choose to implement a diagram for your Xtext-based language, there are a few things you should know in order to connect the diagram view/editor to the rest of the infrastructure.

Let us first have a look how to implement a context menu action for the Xtext editor to show the element at the current cursor position in the diagram. In Eclipse, you have to implement a handler for such an action. Xtext offers a bunch of classes making your life easier. EditorUtils detects the Xtext editor for the handler’s action and EObjectAtOffsetHelper finds the semantic model element at a given text offset.

As the document – and thereby the model parsed from it – is subject to editing, you have to make sure nobody is changing it while you traverse it to derive your diagram. You can execute code in a read transaction on the XtextDocument by wrapping it in an IUnitOfWork that you pass to the XtextDocument#readOnly method.

The following snipped shows an example handler written in Xtend.

Note that the @Inject annotation in the example requires you to use your language's executable extension factory when you register the handler class it in the plugin.xml of your language's UI plug-in. See the Xtext documentation for details.

To navigate from a diagram element back to it’s element definition in the text, you need to store some back reference. The model element itself is not suitable, as its lifecycle is bound to the one of the editor, and the parser is even free to expunge model elements whenever the document is re-parsed. As Xtext is based on EMF, each model element has a unique URI. You should always use these URIs to store references to model elements beyond the boundaries of a read/write transaction. An element’s URI is provided by EMF's EcoreUtil#getURI method.

Having the URI, the navigation to the respective model element’s definition is easiest to implement using Xtext’s IURIEditorOpener. If your diagram view supports selection listeners, the respective Xtend code could look like this:


by Jan Köhnlein (noreply@blogger.com) at August 26, 2014 09:14 AM

Graphical Views for Xtext

by Jan Köhnlein (noreply@blogger.com) at August 26, 2014 09:14 AM

Xtext provides you with a powerful IDE and a rich featured text editor for your domain-specific language with little effort. But sometimes, a picture says more than a thousand words: You want to have some additional graphical representation of your models, a set of diagrams.

Diagrams are superior to code when it comes to high-level views. But while programmers can easily cope with files that contain several hundred lines of code, the same amount of information usually blows a diagram and destroys all its suggestiveness. Diagrams with just a few nodes and edges showing on a certain aspect of the models only are best fit for human readers. Such aspects are often spread across various model files. So in order to add the best value for the language users on top of an Xtext infrastructure, we need to allow them to create multiple diagrams, each highlighting just a subset of model information, picked from multiple model files. In other words, diagrams that have a completely different structure than their associated textual models.

Traditional graphical editing frameworks focus on editing the underling model through the diagram.
But synchronizing the model changes from textual and diagram editors is very hard if their content's structures differ. In most cases, the integration will lead to major usability quirks like unexpected editor behavior, forced save operations, blocked editors or even data loss.

So rather than working around the hard challenges of integrating graphical and textual model editing, we can leave model modification to Xtext. For the graphical stuff we can concentrate on diagram editing and leave the underlying model read-only. This way we can spend our energy on the things that really matter to the user, like easy and useful ways to populate diagrams or best visual appearance.

In Eclipse, one could build such graphical views using Zest or GEF. If model and diagram do not differ too much in structure, a small code generator targeting GraphViz is a very simple solution with high quality output.

The general integration with Xtext is covered in a follow up post.

The following screencast shows another solution for an Xtext-based domain model language. The graphical editor is using FXDiagram, a diagram framework based on JavaFX. FXDiagram offers a very smooth user experience, excellent rendering, support for touch-pad gestures, animated undo/redo, diagram persistence, export to scalable vector graphics and much more. If you are interested in learning more, feel free to contact me.




by Jan Köhnlein (noreply@blogger.com) at August 26, 2014 09:14 AM

EMF Validation for Datatype constraints

by Maximilian Koegel at August 26, 2014 08:16 AM

After defining a model, it is a common next step to define validation rules. Often there is a requirement to have attributes with a restricted length or attributes with values in a specific range. Furthermore, it can be the case, that there are multiple attributes with the same restriction in different places of the model. To solve such a requirement EMF offers a simple solution: EDataTypes with Annotations.

This is a step-by-step guide how to define your own restricted DataType.

First, you need to define a DataType:

  EMF Validation for Datatype constraints

Then the properties of the DataType must be set, this includes the actual Type (the Instance Type Name) and the new Name of the custom DataType:

 EMF Validation for Datatype constraints

In the next step, you must define the constraints with an Annotation on the DataType:

  EMF Validation for Datatype constraints

In the properties of the Annotation, the source must be set to “http:///org/eclipse/emf/ecore/util/ExtendedMetaData”:

 EMF Validation for Datatype constraints

 To define the constraints, a Details Entry must be added to the annotation:

 EMF Validation for Datatype constraints

You can add multiple Details Entries, if multiple constraints must be set e.g. the lower and upper bounds of a range restriction.

The key of the Details Entry corresponds to the constraint type and the value corresponds to the constraint value:

  EMF Validation for Datatype constraints The complete DataType definition looks like this:

 EMF Validation for Datatype constraints

 You can now use this definition as an attribute type of any EAttribute in the model:

 EMF Validation for Datatype constraints

An attribute with such an AttributeType will automatically provide validation results, e.g. via the Diagnostician. Therefore, frameworks like EMF Forms will automatically evaluate and display them:

 EMF Validation for Datatype constraints

You can find the complete list of possible keys here. Just search for “Facet” and look at the “details key”.

For your convenience, the most important ones are:

  • pattern: allows to define a regular expression which must be met

  • totalDigits: allows to define the maximal number of digits of a number

  • minLength: allows to define the minimal length of a value

  • maxLength: allows to define the maximal length of a value

  • minExclusive: allows to define a minimal value which is still invalid

  • maxExclusive: allows to define a maximal value which is already invalid

  • minInclusive: allows to define a minimal value which is already valid

  • maxInclusive: allows to define a maximal value which is still valid

Have fun defining your DataTypes with custom restrictions!


TwitterGoogle+LinkedInFacebook

Leave a Comment. Tagged with eclipse, emf, validation, eclipse, emf, validation


by Maximilian Koegel at August 26, 2014 08:16 AM

Mastering Eclipse Plug-in Development published

August 25, 2014 08:00 AM

This week saw the publication of my second book, Mastering Eclipse Plug-in Development. Hopefully this explains why this blog hasn't seen updates in a while; after some 360 pages and some 75k words, spare writing time has been a bit of a luxury.

The book is aimed at developers who are familiar with the basics of plug-in development, such as covered in my first book, Eclipse 4 Plug-in Development by Example: Beginner's Guide.

It covers subjects that are not normally found in Eclipse plug-in development books, such as how to consume and publish OSGi services, how to use native code inside bundles and how to take advantage of event-based publishing in Eclipse applications. There's also sections on how to provide user assistance (help) in Eclipse as well as some of the mechanisms for using P2 to manage repositories and to affect installations. The full table of contents is:

  • Chapter 1: Plugging in to JFace and the Common Navigator Framework
  • Chapter 2: Extending Eclipse with Custom Extension Points
  • Chapter 3: Using OSGi Services to dynamically wire applications
  • Chapter 4: Defining commands for the Gogo shell
  • Chapter 5: Native Code and Fragment Bundles
  • Chapter 6: Understanding Service Loaders and Class Loaders
  • Chapter 7: Designing Modular Applications
  • Chapter 8: Event Driven Applications with EventAdmin
  • Chapter 9: Deploying and Updating with P2
  • Chapter 10: User Assistance in Eclipse

As with the previous book, the code samples are all available as a GitHub project along with a series of tags associated with each chapter, and commit messages for each section in the book. When you clone this repository (or download the sample code from the Packt website) into Eclipse, you can use the built-in EGit support to switch between different chapters and compare the code with a before/after look at the changes.

I'd especially like to thank those in the Eclipse community who gave feedback on earlier drafts, especially Lars Vogel and Ian Bull; and of course Ann Ford, Carla Guillen, Jeff MAURY, Peter Rice and Dennis John who spent significant amounts of time and effort going through the code samples to verify that they work as expected. Any remaining errors are my own.

The book has been tested against both Eclipse Kepler and Eclipse Luna, and has been updated for OSGi R6.


August 25, 2014 08:00 AM

Committer and Contributor Hangout -- Project Code Development Changes When It Becomes an Eclipse ...

by Eclipse Foundation at August 22, 2014 02:56 PM

Richard Burcher from the Eclipse Foundation will talking about changes your project may have to make to keep developing when it comes to the Eclipse Foundation as a project. We'll discuss what they are:) Links: Talking notes with links embedded: https://wiki.eclipse.org/Committer_Contributor_Hangouts/august_22#Discussion_Script

by Eclipse Foundation at August 22, 2014 02:56 PM

Eclipse Luna for Fedora 20

by Mat Booth at August 22, 2014 12:00 PM

If you are a Fedora Eclipse user, then you're probably saddened since the release of Eclipse Luna (4.4) because you are still using Eclipse Kepler (4.3) on Fedora 20.

Well, be saddened no longer because Eclipse Luna is now available for Fedora 20 as a software collection!

A software collection is simply a set of RPMs whose contents are isolated from the rest of your system such that they do not modify, overwrite or otherwise conflict with anything in the main Fedora repositories. This allows you install multiple versions of a software stack side-by-side, without them interfering with one another. More can be read about this mechanism on the software collections website.

The Eclipse Luna software collection lives in a separate yum repository, which must be configured by clicking on this link to install the release package.

Then you can install the whole collection by doing:

$ sudo yum install eclipse-luna

This will install everything you need to run Eclipse Luna (including a bunch of useful plug-ins for Java and C/C++ development) on your Fedora 20 machine. After installation is complete, you may notice Eclipse Luna's shiny new icon appear next to the old one in GNOME.

Luna Launcher

Alternatively, if you ever need to launch Eclipse from a terminal, you can do so with the following command:

$ scl enable eclipse-luna eclipse

And that will launch the specific version of Eclipse from the Eclipse Luna software collection instead of the default Eclipse that comes with Fedora 20.

Happy hacking!


by Mat Booth at August 22, 2014 12:00 PM

Open IoT hangout #9

by Eclipse Foundation at August 21, 2014 03:35 PM

After a short holiday break, join us to discuss what's new in the IoT space and learn more about Eclipse IoT Working Group member BitReactive!

by Eclipse Foundation at August 21, 2014 03:35 PM

Eclipse Papercut #15 – Simplified access to the structured selection of Viewer

by Lars Vogel at August 21, 2014 01:15 PM

Eclipse Mars will make access to the structured selection of a StructuredViewer easier. So instead of:

ISelection selection = combo.getSelection();
IStructuredSelection sel = (IStructuredSelection) selection;

You can write

IStructuredSelection sel = combo.getStructuredSelection();

Not a big one, but one of the little annoying things. See the rest of the Eclipse papercut series


by Lars Vogel at August 21, 2014 01:15 PM

CONSUMING an EMF MODEL in UR ECLIPSE UI - PART 5 & 6

by Its_Me_Malai (noreply@blogger.com) at August 21, 2014 01:10 PM

Its been a while I have updated my EMF Document to further enhance my series of Consuming an EMF Model in UR Eclipse UI. I have finally found the time to update the same with the following topics.

1. Display of EMF Model on a TableViewer

I have seen a lot of associates implement their own content and label provider when it comes to a table instead of extending and reusing the EMF Edit code. This is due to the reason that the generated EMF Edit Code doesnt support TableViewer out of the box. Therefore i did think its is definitely useful to document the steps involved in extending the Edit plugin to support TableViewer than rewriting the Content and Label Provider completly.

For Article on Display of EMF Model on Table Viewer : Click Here
For SourceCode for the Article on Display of EMF Model on TableViewer : Click Here

2.Populating the ContextMenu with NewChildDescriptors for creation of new Siblings and Children.

Many a times when we have to contribute Context Menu on existing Model elements to support creation of New Child or Sibling Objects, we miss on the idea of NewChildDescriptors provided by the EMF Edit Plugin out of the box for similar usecases. Therefore this tutorial helps in understanding NewChildDescriptors and their use.

For Article on Populating the ContextMenu with NewChildDescriptors : Click Here
Please like us on marketplace, if you like our contributions to the eclipse world.
Download our srcs from http://github.com/ancit or http://github.com/cmalai








by Its_Me_Malai (noreply@blogger.com) at August 21, 2014 01:10 PM

Exciting New Eclipse Plug-ins in Fedora

by Mat Booth at August 21, 2014 01:00 PM

Two exciting new plug-ins are now available in Fedora, a TestNG integration plug-in and the PHP Development Tools (PDT) plug-in.

The TestNG plug-in offers integration for Java projects using TestNG as an alternative to the Junit testing framework. It allows authoring, running and debugging TestNG tests in a similar way to the way you can with Junit tests.

TestNG Action Shot

Read more about the TestNG plug-in at the project website. It is available for Fedora 20 and above and may be installed with the following command:

$ sudo yum install eclipse-testng

The PHP Development Tools (PDT) plug-in attempts to provide a complete PHP IDE. I am not a PHP programmer so I can't tell you much about it, but at over two hundred thousand downloads from eclipse.org for this version alone, it seems pretty popular. It was added to Fedora as a maintainable replacement for the retired PHPEclipse plug-in, so if you were using that in the past please give this a try.

PDT Action Shot

Read more about it on the project website. PDT is also available for Fedora 20 and above and may be installed with the following command:

$ sudo yum install eclipse-pdt

Happy hacking!


by Mat Booth at August 21, 2014 01:00 PM

EASE - Eclipse Advanced Scripting Environment launched

by Christian Pontesegger (noreply@blogger.com) at August 21, 2014 11:20 AM

It's been a while since I last wrote about EASE. Not writing about it does not mean that we were lazy. We applied for an official eclipse project and were busy setting up the infrastructure.

So please welcome the new Eclipse citizen: EASE.


What it does for you

EASE allows to write, maintain and execute scripts right within your IDE. Executed scripts run in the context of the Eclipse JRE, allowing to access all Java classes in your Eclipse universe. Thus you can manipulate and extend your IDE without the need to write plugins, pack them into features, export them into a p2 repository, install, restart, ...

As accessing Java code from script languages is typically an annoying task ("If I could write Java code I would do it in Java, why scripting?") EASE provides extension points to encapsulate typical actions into simple script commands. Basically it allows to create wrappers in the target script language to access Java methods. We already started writing some useful modules. The Modules Explorer view gives a short overview of the available commands (hint: try DND).


You already have a nice API to use? Great, just wrap() it from your script or register it via extension point.

Scripts may include other scripts using URIs. You could even access your scripts using http.To register script locations check your preferences in Preferences/Scripting.

Current UI integration gives access to a nice interactive shell to play around with, script recording and launch support.



Right, where do I get it from?

You find the update site locations on our webpage. We are focusing on Eclipse Luna, so if you are using something older and things do not work as expected, let us know.


Contribute? It's easier than you thought

Contribution is not only about writing code. Just test EASE and let us know what you think of it. Fill the bugtracker with ideas, design icons, write help, provide sample scripts - there are so many things that need a little care.


What's next

This summer we received a great contribution via Google Summer of Code. Martin Kloesch developed a Jython debugger which will be available on the update sites soon.

UI integration to bind scripts to menus and toolbars is basically working, but needs some tweaking.

A set of core modules needs to evolve. Currently we are playing around with the functions, but we need a stable script API for those modules rather soon.

... and I know we have to write lots of help and tutorials to make this project useful for you out there.

by Christian Pontesegger (noreply@blogger.com) at August 21, 2014 11:20 AM

Visualize your EMF Model using Sphinx Model Explorer

by Its_Me_Malai (noreply@blogger.com) at August 21, 2014 09:13 AM

There is a basic tutorial available on how to get Sphinx working available on https://wiki.eclipse.org/Sphinx/tutorials. But the tutorial is a little confusing for associates who are beginner and get confused on reading the tutorial.




Therefore I intend to segregate the tutorial and make it simpler for people to read thru and finally get the example working for our own EMF Model.

Click Here to Download the Tutorial for Setting Up and Running Sphinx on your EMF Model
Click Here to Download the Source of the Tutorial

You may read other EMF related Articles and Tutorials on ANCIT CONSULTING Website

by Its_Me_Malai (noreply@blogger.com) at August 21, 2014 09:13 AM