Customizing navigation and security in OpenXava

 Java, Web Development  Comments Off on Customizing navigation and security in OpenXava
Aug 122015
 

OpenXava does not include a complete security and navigation system, although you can easily add security and navigation in an OpenXava application if you use a Java portal, such as Liferay. Also, you can use the official solution that OpenXava team offers: XavaPro. Even though these solutions may be valid for new projects, for legacy projects you may need apply other ones. In this post we are going to customize our own solution for navigation and security starting from the standard OpenXava solution: NaviOX. Continue reading »

Main JSPs in OpenXava

 Java, Web Development  Comments Off on Main JSPs in OpenXava
Aug 112015
 

OpenXava is an AJAX Java Framework for rapid development of enterprise web applications. In OpenXava you only have to write the domain classes in plain Java to get a web application ready for production. Under the hood, there are a lot of JSPs that, magically, build all the pages on the fly. In spite of being an extensible and customizable framework, if you want to change the default behaviour of OpenXava projects, you will have to know how different JSPs are related each other.
Continue reading »

Reverse Engineering and Code Generation

 DataBase, Java, Web Development  Comments Off on Reverse Engineering and Code Generation
Aug 102015
 

The goal of this post is to explain how to model a database into java pojo classes with EJB or JPA annotations using reverse engineering. We can use several tools such as MinuteProject or Mogwai ERDesignerNG. In this post we are going to use JBoss Tools plugins for Eclipse (Hibernate Tools). With this tool not only can you configure files using JPA and EJB annotations, but also other annotations such as OpenXava. Continue reading »

Streams in Java 8

 Java  Comments Off on Streams in Java 8
Jul 252015
 

Streams are the key abstraction in Java 8 for processing collections of values and specifying what you want to have done, leaving the scheduling of operations to the implementation. Furthermore, streams can leverage multi-core architectures without you having to write a single line of multithread code, and simplify the description of aggregate computations, exponing opportunities for optimisation. Streams basically allow us to write collections-processing code at a higher level of abstraction.
Continue reading »

Bootstrap grid system

 Design  Comments Off on Bootstrap grid system
Jul 212015
 

A grid system divides the screen into multiple rows and columns that can be used to create various types of layouts. With Bootstrap, to set the maximum width of the page content according to the screen width, you have to use a container. All the rows and columns should be placed inside a container to ensure proper alignment and padding.
Continue reading »

Functional interfaces in Java 8

 Java  Comments Off on Functional interfaces in Java 8
Jul 172015
 

A functional interface is an interface that specifies exactly one abstract method. in Java8 interfaces can now also have default methods (that is, a method with a body that provides some default implementation for a method in case it isn’t implemented by a class). An interface is still a functional interface if it has many default methods as long as it specifies only one abstract method.
Continue reading »

Lambda expressions in Java 8

 Java  Comments Off on Lambda expressions in Java 8
Jul 162015
 

A lambda expression can be defined as a concise representation of an anonymous function that can be passed around: it doesn’t have a name, but it has a list of parameters, a body, a return type, and also possibly a list of exceptions that can be thrown.
Continue reading »

Horizontal and vertical centering with CSS

 Design  Comments Off on Horizontal and vertical centering with CSS
Jul 152015
 

One of the most common tasks while designing web pages is centering elements both vertically and horizontally.

To center a block (div, p, h1, and so on) horizontally, the only thing you have to do is to apply a margin auto to it. For example,

You have to take into account that a width is necessary.
Continue reading »