Welcome!

Related Topics: SYS-CON MEDIA

SYS-CON MEDIA: Press Release

OpenXava 4.6: Develop Business Web Application for iPad

OpenXava allows you develop applications just by writing simple domain classes with Java or Groovy

OpenXava is a framework for Rapid Development of Web Applications for iPad, well-suited for business and database oriented applications.

OpenXava allows you develop applications just by writing simple domain classes with Java or Groovy. The user interface is generated automatically in runtime, without code generation.

Learn more about iPad support in OpenXava.

OpenXava 4.6 has some new interesting features such as:

  • Custom reports generation from list.

  • It's possible to customize the list mode defining your own editor.

  • You can assign a model object (an entity or a transient object) directly to a View to populate it.

  • In the jUnit tests you can assert the content of generated PDFs

  • New @RowAction annotation for collections.

  • Labels and messages available in Russian.

  • The file name for generated reports includes model name and time.

And many other useful new features and bug fixes.

Custom reports generation from list

In list mode there is a new action called Custom report:

When the user clicks on it he gets the next dialog:

This dialog allows the user to define his own report. He can add and remove columns, specify filters, ordering and set the report title. It's true that the features are almost the same of the already existing Generate PDF, because the user has always been able to add, remove and move columns, and filter and order in the list. Maybe the only advantage of the new UI is that the user can specify ordering for more than 2 columns and that he can specify the report title. The important thing is that this new UI for reporting will allow us to add new interesting features in future versions, such as storing the reports by name to recover them afterwards, specifying labels and width for columns, using hidden columns for filtering and ordering, etc.

Custom editors for list mode

The standard list mode is very powerful and suitable for most case, but sometimes you need something special for your list. To meet this necessity we have added the possibility to define custom editors for @Tabs. Therefore, if you want the customers list would be displayed in this way:

You have to define a @Tab in your entity as following:

@Tab ( name ="Cards", editor="CustomerCardList",

properties="number, name, type, address.city, address.state.name"

)

And also define the editor in the editors.xml file of your project:

<editor name="CustomerCardList" url="customerCardListEditor.jsp"/>

Of course, you have to write customerCardListEditor.jsp to render the customers in your own way. Learn more details about how to choose an editor for a @Tab in the reference guide.

Moreover, it's possible to define an editor for all the lists of a model or even for all the lists of your application. Look at the customizing chapter of the reference guide.

With the addition of lists now we have editors for properties, references, collections and lists, thus the customization of the UI generated by OpenXava is total. You get exactly the UI you want.

Assigning model objects directly to View

Until now to put and get the data from a view based on a transient class you needed to use getView().get/setValue() with simple values or getView().get/setValues() with maps, you couldn't use the model object directly. Since OpenXava 4.6 you can use model objects to populate the view. So, a code like this is possible:

DateRange range = ... // DateRange can be an entity or a transient class

...

getView().setModel(range); // Populate the view with range data

This code populate the view with data from the DateRange object, even if the view currently is not displaying a DateRange the view is changed to display it.

Asserting PDF content in jUnit tests

Now you can verify that the content of the generated PDFs in your jUnit tests is the correct one. To do this ModuleTestBase has the following new methods: getPopupPDFAsText(), printPopupPDFAsText(), getPopupPDFLine(), assertPopupPDFLine(), assertPopupPDFLinesCount() and getPopupPDFLinesCount(). From now on you can write test code as following:

execute("CustomReport.generatePdf");

assertPopupPDFLinesCount(5);

assertPopupPDFLine(1, "jUnit Carrier report");

assertPopupPDFLine(2, "Name Number Zone");

assertPopupPDFLine(3, "CUATRO 4 1");

A good news for all of us that love automated testing.

@RowAction for collections

@RowAction allows to define an action to be show in each row, but not in the collection button bar. If you write a code like this:

@OneToMany(mappedBy="parent", cascade=CascadeType.ALL)

@RowAction("OrderDetail.reduceQuantity")

Collection<OrderDetail> details = new ArrayList<OrderDetail>()

You'll get the next user interface for the collection:

Note as Reduce quantity action is in the row but not in the button bar. Read more about @RowAction at wiki.

And more

See changelog for the complete list of new features and fixes.

Download OpenXava 4.6 and try it

More Stories By Javier Paniza

Javier Paniza is the project lead for OpenXava project. He works as software developer at Gestión 400, a software company for public administration in Spain. He has been developing with Java Enterprise since 1998. Also he has been J2EE mentor for development teams in banking projects.

Latest Stories
From 2013, NTT Communications has been providing cPaaS service, SkyWay. Its customer’s expectations for leveraging WebRTC technology are not only typical real-time communication use cases such as Web conference, remote education, but also IoT use cases such as remote camera monitoring, smart-glass, and robotic. Because of this, NTT Communications has numerous IoT business use-cases that its customers are developing on top of PaaS. WebRTC will lead IoT businesses to be more innovative and address...
Most companies are adopting or evaluating container technology - Docker in particular - to speed up application deployment, drive down cost, ease management and make application delivery more flexible overall. As with most new architectures, this dream takes a lot of work to become a reality. Even when you do get your application componentized enough and packaged properly, there are still challenges for DevOps teams to making the shift to continuous delivery and achieving that reduction in cost ...
Evan Kirstel is an internationally recognized thought leader and social media influencer in IoT (#1 in 2017), Cloud, Data Security (2016), Health Tech (#9 in 2017), Digital Health (#6 in 2016), B2B Marketing (#5 in 2015), AI, Smart Home, Digital (2017), IIoT (#1 in 2017) and Telecom/Wireless/5G. His connections are a "Who's Who" in these technologies, He is in the top 10 most mentioned/re-tweeted by CMOs and CIOs (2016) and have been recently named 5th most influential B2B marketeer in the US. H...
In this presentation, you will learn first hand what works and what doesn't while architecting and deploying OpenStack. Some of the topics will include:- best practices for creating repeatable deployments of OpenStack- multi-site considerations- how to customize OpenStack to integrate with your existing systems and security best practices.
DXWorldEXPO LLC announced today that Kevin Jackson joined the faculty of CloudEXPO's "10-Year Anniversary Event" which will take place on November 11-13, 2018 in New York City. Kevin L. Jackson is a globally recognized cloud computing expert and Founder/Author of the award winning "Cloud Musings" blog. Mr. Jackson has also been recognized as a "Top 100 Cybersecurity Influencer and Brand" by Onalytica (2015), a Huffington Post "Top 100 Cloud Computing Experts on Twitter" (2013) and a "Top 50 C...
"Venafi has a platform that allows you to manage, centralize and automate the complete life cycle of keys and certificates within the organization," explained Gina Osmond, Sr. Field Marketing Manager at Venafi, in this SYS-CON.tv interview at DevOps at 19th Cloud Expo, held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA.
"This week we're really focusing on scalability, asset preservation and how do you back up to the cloud and in the cloud with object storage, which is really a new way of attacking dealing with your file, your blocked data, where you put it and how you access it," stated Jeff Greenwald, Senior Director of Market Development at HGST, in this SYS-CON.tv interview at 18th Cloud Expo, held June 7-9, 2016, at the Javits Center in New York City, NY.
Rodrigo Coutinho is part of OutSystems' founders' team and currently the Head of Product Design. He provides a cross-functional role where he supports Product Management in defining the positioning and direction of the Agile Platform, while at the same time promoting model-based development and new techniques to deliver applications in the cloud.
In a world where the internet rules all, where 94% of business buyers conduct online research, and where e-commerce sales are poised to fall between $427 billion and $443 billion by the end of this year, we think it's safe to say that your website is a vital part of your business strategy. Whether you're a B2B company, a local business, or an e-commerce site, digital presence is key to maintain in your drive towards success. Digital Performance will take priority in 2018 for the following reason...
All organizations that did not originate this moment have a pre-existing culture as well as legacy technology and processes that can be more or less amenable to DevOps implementation. That organizational culture is influenced by the personalities and management styles of Executive Management, the wider culture in which the organization is situated, and the personalities of key team members at all levels of the organization. This culture and entrenched interests usually throw a wrench in the work...
Leading companies, from the Global Fortune 500 to the smallest companies, are adopting hybrid cloud as the path to business advantage. Hybrid cloud depends on cloud services and on-premises infrastructure working in unison. Successful implementations require new levels of data mobility, enabled by an automated and seamless flow across on-premises and cloud resources. In his general session at 21st Cloud Expo, Greg Tevis, an IBM Storage Software Technical Strategist and Customer Solution Architec...
Business professionals no longer wonder if they'll migrate to the cloud; it's now a matter of when. The cloud environment has proved to be a major force in transitioning to an agile business model that enables quick decisions and fast implementation that solidify customer relationships. And when the cloud is combined with the power of cognitive computing, it drives innovation and transformation that achieves astounding competitive advantage.
IoT is rapidly becoming mainstream as more and more investments are made into the platforms and technology. As this movement continues to expand and gain momentum it creates a massive wall of noise that can be difficult to sift through. Unfortunately, this inevitably makes IoT less approachable for people to get started with and can hamper efforts to integrate this key technology into your own portfolio. There are so many connected products already in place today with many hundreds more on the h...
In his session at Cloud Expo, Alan Winters, U.S. Head of Business Development at MobiDev, presented a success story of an entrepreneur who has both suffered through and benefited from offshore development across multiple businesses: The smart choice, or how to select the right offshore development partner Warning signs, or how to minimize chances of making the wrong choice Collaboration, or how to establish the most effective work processes Budget control, or how to maximize project result...
"Software-defined storage is a big problem in this industry because so many people have different definitions as they see fit to use it," stated Peter McCallum, VP of Datacenter Solutions at FalconStor Software, in this SYS-CON.tv interview at 18th Cloud Expo, held June 7-9, 2016, at the Javits Center in New York City, NY.