tll


The Logic Lab's root src tree

Contains projects owned and maintained by The Logic Lab.

The following are Maven-driven code modules providing particular functionality. The inter-dependencies are intended to be as minimal as possible and are considered to be "loosely coupled".

tll-core

Core functionality mainly utility routines:

  • String
  • Enum
  • Collection
  • Crypto
  • Reflection (find classes under a package name)
  • Validation

tll-config

Loads one or more property files from disk.

This module extends Apache's commons configuration project with additional functionality:

  • Ability to load multiple property files into a single in memory Config instance.
  • Extract properties from a loaded Config instance to a Map<String, String> instance allowing for property filtering.
  • Save loaded properties to disk allowing for property filtering.

tll-mail

Dispatches emails programmatically.

Programmatic email assembly and distribution using Spring and javax.mail via a simplified api.

tll-schema

Processes one or more classes providing model property metadata.

  • Schema annotations enabling the loading of schema related information on entity properties. The main use of this information is to decorate model data when sent to the client for client-side validation.

tll-model

Base and helper classes for defining application entities.

  • Business key annotations which enable checking of business key constraints before entities are persisted.
  • Validation support based on Hibernate Validator (JSR 303).
  • Single entity methods for setting both sides of a bi-directional entity relationship.
  • EntityFactory that handles eager setting of entity ids at time of object creation.
  • EntityGraph and IEntityGraphBuilder for easily creating entity object graphs useful for testing.

tll-dao

Data persistence interfaces for basic CRUD ops and large result set retrieval via paging routines.

tll-service

Level of abstraction that sits directly above the dao layer supporting full @Transaction support.

Transactions are realized via Spring's @Transactional via AspectJ Compile Time Weaving having no dependence on Spring's application context.

tll-servlet

Core servlet functionality.

  • WebClientCacheFilter which adds caching directives to an HttpServletResponse configured by adding declarative caching directives in the application's web.xml file.

client-ui

Provides extended UI related functionality for GWT.

This includes in part: * "Global" Message display via a message panel able to display messages categorized by severity and origin (client or server). * "Local" message display via tooltip type messages triggered by mouse hovering. * Option panel supporting the selection of a single option via mouse click. * Toolbar panel which displays images triggering onvaluechange events.

client-view

A way to create and manage views in a GWT context.

This view functionality includes: * View caching (configurable). * Poppable views. A popped is removed from the DOM layout flow and is draggable. * View refreshing where data is re-retrieved from its data source including server side fetching via GWT RPC.

client-field

A way to present and modify model data in a GWT context.

This functionality includes: * Model/field data binding supporting related one and related many bindings. * Field level validation both single field and intra-field (multiple fields) validation. * Local and global validation feedback message display.

client-persist

Provides CRUD functionality in a GWT context of an application's model data (entities).

client-listing

Paging functionality for large collections of application/model data in a GWT context.

client-login

Login/logout functionality in a GWT context based on Spring Security.


smbiz

Small Business Web Administration Interface

JEE Web 2.0 prototype app using the latest and best of breed open source frameworks.

Administrative interface for managing small business B2C processes.

Project Information

Labels:
Java J2EE web GWT Guice Spring