Introduction to the Eclipse Modeling Framework (EMF)

This eclipse project is a modelling framework which also provides application building tools.
In short, it offers you the tools to create your data model and then generate code based on it.
This is done in 2 steps:
1. Modelling:
Basically you define the domain model objects your application will be using. This model is saved in an .ecore file(usually under the model folder in your eclipse modelling project).
The Ecore model allows to define different elements:

EClass : represents a class, with zero or more attributes and zero or more references.

EAttribute : represents an attribute which has a name and a type.

EReference : represents one end of an association between two classes.

EDataType : represents the type of an attribute(e.g. EString – java.lang.String)

Eclipse modelling plugins provides you an editor in which you can describe it like a tree structure. It is ok for smaller models with a few objects.

ecore_editor

A better way is using the ecore tools eclipse plugin. It has a diagram editor which helps a lot with the readability of the model. A thing to remember is to create a new ECORE MODELLING PROJECT instead of a new Empty EMF project(like you will find in most tutorials…) if you want to be able to create these diagrams(stored in the aird file).
diagram

2. Code generation

Code generation also needs a generator model. This contains properties for the code generation which are outside of the model structure scope(e.g. package information for the generated classes).
It is created based on an existing ecore model. With these two, model code can be generated(right clicking the root node of the generator model).

Eclipse offers the following items to be generated:
– Model: The model contains all entities, packages and factories to create instances of the model.

– Edit: The edit plugin contains providers to display a model in a UI. For example, the providers offer a label for every model element, which can be used to display an entity showing an icon and a name.

– Editor: The editor plugin is a generated example editor to create and modify instances of a model.

– Test: The test plugin contains templates to write tests for a model.

The plugins can be used directly by integrating them in an eclipse rcp application. Of course the generated code can be refined and you can also build a more user friendly user interface. EMF Forms framework can be used to create a proper UI.

Fix for unexplainable common crashes of IBM Notes with Eclipse

IBM introduced with Lotus Notes Version 8.x the Eclipse-based extension that comes with many new featurelotusnotess and functions.  A world of new opportunities for software failures appears.

Lotus Notes present a Fault Reports database that made it easier to gather crash information, but doesn’t provide any tools for fixing the issues or identifying the cause of many errors in the Eclipse configuration information that is stored in the \Workspace directory located in the Notes data directory.

It could present a variety of errors from the client closing as soon as it is launched to crashing whenever the user tries to send an email with an attachment.

Read the rest of this entry »

Android Pro tip : Toolbar title font

You have an awesome app with some awesome design elements, the last step in making your app really stand out is typography. The fonts you use in your app can make a really big impact so, naturally,  you choose and apply some awesome fonts and then you realize:  there’s one part of your app that doesn’t quite match the style – that’s right – the text from the Toolbar. Keep reading to find out how to fix this Read the rest of this entry »

Tags: 

Android Pro tip : tools namespace

If you have ever designed an XML layout, I am certain that you used some hard coded values at least once. How many times have you forgotten to remove those values and they ended up in your final product ? Yeah, I don’t like that answer either !  Continue reading if you want to know how to avoid this pitfall… Read the rest of this entry »

Tags: 

ETL concepts

Over the years large amounts of data have been stored for business purposes. To turn this data into consistent and accurate information for a specific use, it somehow needs to be transformed.

And so we get to the ETL concept …

Read the rest of this entry »

SQL : Updating Oracle table with data using subquery

In Oracle Database 11g , when you need to update values of certain records from one table,  and the value and the records to update are determined by a second table, you can use a subquery in the update statement to achieve the update.

Using “EMPLOYEE”  and “EMPLOYEE_STAGING”  tables as an example , we want to update field “SALARY” – table “EMPLOYEE” with the values from field  “SALARY” – table “EMPLOYEE_STAGING”.

Read the rest of this entry »

How to install Yii Framework on XAMPP for Windows

Yii-logo-transparent

 

Yii is an open source, object-oriented, component-based MVC PHP web application framework. Yii is pronounced as “Yee” or [ji:] and it’s an acronym for “Yes It Is!

The first thing you need in order to use the Yii Framework is access to a Web server with PHP installed, of course. But if you’re reading this, I’m going to assume you have access to a PHP-enabled server. Note that the Yii Framework does require PHP 5.1 or above.

Installing Yii framework

Get the Yii framework from the site http://www.yiiframework.com/download/

Extract the compressed files into XAMPP htdocs folder, e.g. C:\xampp\htdocs\yii.

Read the rest of this entry »

SQL Injection. How to prevent it from happening in PHP.

SQL injection as a matter of security can be approached from multiple angles. One must first be sure that the targeted application has a confidential database structure, since this is the main thing that makes SQL injection possible.

Also, it’s important to notice that SQL injection is not something that happens arbitrary or from time to time, it takes place on most known websites. In figure 1 are illustrated the results of a study realized by Ponemon Institute about the intensity at which SQL injection takes place on most websites (year 2013):

articol-1

(Source: http://securityaffairs.co/wordpress/24094/cyber-crime/ponemon-sql-injection-attacks.html)

Read the rest of this entry »

Android product flavors (part 2)

Hey there ! Welcome to the second part of the Android product flavors tutorial. In the first part we learned how to setup our project to use product flavors, and how to add custom icons and resources to the flavors. The second part will cover using custom layouts and adding custom code to the product flavors. Read the rest of this entry »

Android product flavors (part 1)

By now, every Android developer has heard of product flavors. We all know they allow us to add small customization to our application, for example, we could change the app icon or the app colors. This sounds great, imagine all the things you could do ! But what if you’ve never had the chance to use product flavors before ? Don’t worry, we got you covered, the following tutorial provides an introduction to product flavors and what you can do with them. Read the rest of this entry »