Clear Data Builder for HTML5 is an open source and free productivity tool to build applications with HTML5, JavaScript and Java EE technologies.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
cdb.dto2extjs.annotations
cdb.dto2extjs.plugin
clear-annotation-processor/src
clear-djn
clear-extjs-runtime-core
clear-extjs-runtime-djn
clear-utils/src/main/java/clear/cdb/support/test
com.farata.cleardatabuilder.extjs.feature
com.farata.cleardatabuilder.extjs.helper
com.farata.cleardatabuilder.extjs.site
com.farata.cleardatabuilder.extjs.tests
com.farata.cleardatabuilder.extjs
com.farata.lib.extjs
gradle/wrapper
.gitignore
.gitmodules
.travis.yml
README.adoc
build.gradle
gradle.properties
gradlew
gradlew.bat
settings.gradle

README.adoc

Clear Data Builder for Ext JS

Clear Data Builder for Ext JS (CDB) is a free and open source productivity tool to build applications with HTML5, JavaScript and Java EE technologies.

It supports Ext JS with Ext.Direct/JEE.

CDB for ExtJS writes both JavaScript and Java code for you. All artifacts required for bringing together Ext JS, Java implementations of Ext.Direct (currently - DirectJNGine), and popular Java frameworks: Spring, Hibernate, and MyBatis ClearJS generates automatically.

Source code is hosted on the GitHub under MIT license.

Commercial support of ClearDataBuilder is available from the source: Farata Systems.

Tip
Intrigued? Check our getting started guide in wiki or read how to improve your productivity with CDB in free chapter from «Enterprise Web Development: From Desktop to Mobile» book.

Why Clear Data Builder?

If your ever tried to create a combined Ext-JEE-DBMS project with or without Spring, you spent hours just to see a window populated with the simple data. Implementing data persistence and transaction processing is even more time consuming. How about batching all inserts, deletes and and updates done to your store as a single transaction? Want to incorporate changes to the associated stores to the same sync()? ClearJS substantially saves time by automating most of these efforts.

You go through a set of simple steps to declare what data do you need (using SQL or Hibernate) and let ClearJS generate and deploy all the artifacts: Java, JavaScript and configuration files. Below, getCompanyAssociates is annotated to return all records from a company_associate table1) and this declaration is all you write to build a service that returns a collection of employee data:

package com.farata.test.service;
import java.util.List;
import com.farata.test.entity.CompanyAssociate;
import clear.cdb.annotations.*;

@JSService
public interface ICompanyService {
    @JSJPQL(query="SELECT a FROM CompanyAssociate a WHERE companyId=:companyId")
    List<CompanyAssociate> getCompanyAssociated(Integer companyId);
}

Throw in one more Java annotation to generate a sample HTML application:

@JSGenerateHTML5(arguments="1")
@JSJPQLMethod(query="SELECT a FROM CompanyAssociate a WHERE companyId=:companyId")
List<CompanyAssociate> getCompanyAssociated(Integer companyId);