Articoli

Xtext 2.1: using Xbase expressions

On a previous post, I started to blog about how Xtext 2.1 made it extremely easy to have a powerful integration with Java in your DSL. In this post I'd like to continue to experiment with this mechanism, and in particular I'll start to use Xbase, a new expression language library which allows to integrate (Java-like) expressions in your DSL. If you take a look at the Five simple steps to your JVM language, you'll see the power of Xbase! Moreover, in Xtext 2.1, using Xbase is even easier since by writing only a AbstractModelInferrer you'll get a full integration [...]

Di |2012-06-08T11:15:15+00:00novembre 23rd, 2011|

Using JVM Types in Xtext 2.1 and the ImportManager

Xtext 2.1 made it even easier to access Java types from your DSL; you can find some paragraphs in the documentation. In particular, the new features of Xbase seem to make this integration even more powerful! This paragraph in the documentation briefly describe how to refer to Java elements using JVM Types, and then dedicates much more room to accessing Java Types using Xbase. In this post, I'd like to document some my experiments/experiences in accessing JVM Types without using Xbase, and in particular, not by using the good ol' Domainmodel example, but something even more simpler, so that I [...]

Di |2012-06-08T11:15:38+00:00novembre 21st, 2011|

Eclipse GMF: un editor grafico per i modelli EMF

Vedremo ora come sia possibile generare un completo editor grafico per il modello EMF creato nei tutorial precedenti, Library.ecore. A tale scopo dovremo utilizzare un altro framework , Graphical Modeling Framework (GMF), attualmente compreso nel pi├╣ ampio insieme di progetti Graphical Modeling Project (GMP). Come cita testualmente il Wiki, GMF ÔÇ£provides a generative component and runtime infrastructure for developing graphical editors based on EMF and GEFÔÇØ, si pone cioè come bridge tra EMF (che consente la definizione del modello) e GEF (un framework grafico ÔÇ£leggeroÔÇØ, basato sul paradigma MVC), generando tutta lÔÇÖinfrastruttura necessaria a coordinare il ciclo di vita degli [...]

Di |2020-04-27T08:44:39+00:00novembre 17th, 2011|

Testing the Eclipse StatusLineManager

As a unit testing addict, I've recently started to use the wonderful SWTBot framwork, for testing the interface part of Eclipse plugins and applications. When it came to test the text of the StatusLine (e.g., after selecting something on a tree, the status line should show the string for the selected element), I found some problems, not strictly related to SWTBot, but to the fact that the IStatusLineManager interface has a method for setting the text, but none for getting the current text. I found a post which was suggesting a "Nasty" way to access the current text, by relying [...]

Di |2012-06-08T11:18:34+00:00ottobre 30th, 2011|

Riflessioni sull’Agile al Better Software 2011

Cos’è l’Agile? Cosa sono le metodologie agili? Cosa promettono? Molti dei lettori sicuramente lo sanno! Detto brevemente, si tratta di una serie di metodologie che promettono di migliorare l’organizzazione e, di conseguenza, la produttività. Ma, a volte, per quanto si tenti di seguirle alla lettera, non si raggiungono gli scopi che speriamo di ottenere! Come mai?? […]

Di |2012-01-04T14:50:46+00:00ottobre 21st, 2011|

CDO – Connected Data Objects

Introduzione a CDO Questo framework, che è un componente del progetto EMF, permette la condivisione di un modello EMF. Se con Teneo quindi possiamo fare in modo che ciascun client possa accedere ad un database (realizzando un client/server a due livelli), con CDO abbiamo la possibilità che i vari client accedano ad un server che mette loro a disposizione la medesima istanza, condivisa, del modello EMF. In questo tutorial vedremo come: installare CDO creare un server CDO creare un client CDO Per una documentazione dettagliata su CDO potete consultare il seguente link http://www.eclipse.org/cdo/documentation/ Mentre qui potete scaricare le varie versioni [...]

Di |2020-04-27T09:20:45+00:00settembre 23rd, 2011|

Aspettando EclipseCon Europe 2011

Quest'anno il "vecchio" Eclispe Summit Europe lascia spazio al nuovo EclispeCon Europe che celebra i 10 anni dalla nascita del progetto Eclipse. Questo evento darà il via ad una serie di Birthday Party che saranno celebrate in tutto il mondo. Ma non è solo il nome ad esser cambiato, visto che, come prima novità di quest'anno, l'evento ospiterà il Java 7 Summit. Notizia straordinaria, dal momento che tutti noi aspettiamo Java 7 da molti anni: siamo tutti curiosi di entrare in contatto con la nuova release e soprattutto con il "nuovo volto" di Java: OpenJDK. Keynotes Altra novità di quest'anno [...]

Di |2011-09-24T07:36:13+00:00settembre 23rd, 2011|

Controllo del lancio

Nel caso si presentino problemi durante il lancio, assicuratevi che esso comprenda tutti i plugin necessari. Per fare ciò cliccate su Run -> Run Configurations... selezionate il lancio selezionate il tab Configuration e assicuratevi che il flag Clear the configuration area before launching sia attivo poi andate sul tab Plug-ins e verificate che non ci siano dipendenze mancanti, premendo il bottone Validate Plug-ins se ottenete una popup con il messaggio "No problems were detected." va tutto bene, altrimenti, se mancano dipendenze, premete il bottone "Add Required Plug-ins", poi Apply. Torna all'indice

Di |2012-06-08T11:27:50+00:00settembre 17th, 2011|

Eclipse EMF: modifiche al Modello

Vediamo ora come procedere quando si desidera modificare il Modello. Diciamo che intendiamo aggiungere l'attributo "surname" all'entità Author. Apriamo il diagramma del modello (Library.ecorediag) e aggiungiamo il nuovo attributo anch'esso di tipo EString Salviamo le modifiche (Ctrl-S), riapriamo il file Library.genmodel, e rigeneriamo i sorgenti del plugin del Model, del plugin di Edit e di quello di Editor (effettuando un click su ciascuna delle prime tre voci del menu contestuale)   Rilanciamo l'applicazione (eventualmente facendo un Clean e ricontrollando il lancio, in caso di errori)   Se verificate il database ora troverete che la tabella "author" contiene il nuovo campo [...]

Di |2012-06-08T11:29:09+00:00settembre 17th, 2011|

Clean workspace

Nel caso di errori all'interno del workspace può essere opportuno effettuare una operazione di Clean, magari preceduta da un Refresh dello stesso, ecco come: Refresh Selezioniamo tutti i plug-ins del workspace, tasto destro del mouse e selezioniamo Refresh nel menu contestuale. Clean Selezionare la voce di menu Project => Clean... Torna all'indice

Di |2012-06-08T11:44:04+00:00settembre 17th, 2011|
Torna in cima