HiveMind Utilities

HiveMind Utilities is a set of utilities for HiveMind.
Download

HiveMind Utilities Ranking & Summary

Advertisement

  • Rating:
  • License:
  • The Apache License 2.0
  • Price:
  • FREE
  • Publisher Name:
  • Jean-Francois Poilpret
  • Publisher web site:

HiveMind Utilities Tags


HiveMind Utilities Description

HiveMind Utilities is a set of utilities for HiveMind. HiveMind Utilities is a set of utilities for HiveMind including HiveTranse (transaction management), HiveLock (security), HiveRemoting, HiveEvents, HiveGUI and HiveUtils. HiveMind Utilities can be useful to any applications based on Hivemind.Here are some key features of "HiveMind Utilities":HiveUtils provides the following: · Collection classes (Stack and Queue)· Web utility classes (log4j helpers, properties helpers, gzip filter...)· AdapterBuilderFactory to adapt an instance of any kind of class to be viewed as a HiveMind service (also allows remapping of exceptions)· PropertyFileSymbolSource service used to resolve symbols from property files (allows externalizing definition of some symbols outside of the jars/wars for an easy deployment without prior rebuild)· ObjectBuilder service to create -and optionally cache- any kind of objects defined in a configuration point. For all these objects, ObjectBuilder manages dependency injection· new useful ObjectProviders: "object:" to inject objects created by ObjectBuilder, "contribution:" to inject one given contribution out of a configuration point, "literal:" to inject any Java primitive literal (String, int, boolean...)· Useful JUnit base classes for easier writing of test cases using jMock In a nutshell, HiveTranse has the following features: · Generic framework for transactions management (TransactionService), completely configurable through HiveMind configuration modules· Declarative transaction demarcation (a la EJB) through an TransactionInterceptor with your own defined defaults, including for exception handling (contrarily to EJB, you can declare that ANY exception shall rollback transactions, not just RuntimeExceptions)· Programmatic transaction demarcation through the TransactionService API· TransactionService for JDBC DataSources with support for multiple DataSources (but outside JTA). Integrates with major DataSource pooling libraries (eg jakarta commons-dbcp). Your services can then be injected with the JDBC Connection(s) ready to use.· TransactionService for Hibernate Sessions with support for multiple SessionFactory -ie data sources- (but outside JTA). Your services can then be injected with the Hibernate Session(s) ready to use. The "Open Session In View" pattern is also supported. Custom Hibernate Interceptors are supported as well. As of version 0.4.3, HiveTranse supports both Hibernate 2 and Hibernate 3.· Transparent support for iBATIS SqlMaps V2.· Support for transparently converting SQLExceptions into more specific, runtime, exceptions (hierarchy is defined in hivetranse.core module). HiveLock provides the following components: · SecurityService to centralize the currently connected users and notify listeners when users get connected or disconnected. Disconnection can be automatically enforced after a configurable period of inactivity.· HiveLockFilter is a ServletFilter to notify SecurityService about the user for the current request.· AuthorizationInterceptorFactory to add interceptors to your services in order to check if a method is authorized for the current caller.· UserContextStorage service to store and retrieve data depending on current user.· UserServiceModel (aka "user") to define stateful services (there is one service instance per connected user). HiveRemoting provides the following features: · export any HiveMind service as a "web service" through Caucho's hessian or burlap protocols over http (exporting a service is just a matter of contributing to a configuration point)· get access to a remote service through a specific CauchoProxyFactory that will transparently return a proxy to the remote service· possibility to add specific serializers to the caucho protocols through configuration· enhancements to Caucho proxies to support cookies for authentication (this enables server authentication on first call only, later calls reuse the server-returned cookie to bypass further authentication)· support of gzip compression for exchanged messages· transparent support of https HiveEvents provides the following: · configuration point to define Event "Channels" (each channel must have a unique name) that can be used by other components (event suppliers and consumers)· support of push suppliers, and push or pull consumers· any kind of event is supported· dynamic event filtering is possible· special ConstraintFilter enables you to use boolean expressions to filter events (thanks to a simple but powerful Constraint Expression Language)· new ObjectProvider "channel:" to directly inject a Channel into a service HiveGUI provides the following support: · simple command framework (implements the Command pattern)· easy management of tables (default table models to handle a list of beans) through a configuration point (allows to define the list of columns, the renderer for each...)· definition of menus (including popups) and items in a configuration point. Menus can be injected into other objects through the new "menu:" ObjectProvider· definition of message boxes in a configuration point· docking management (a la Eclipse)· simple utility classes for dialog creation· miscellaneous tools for icons, cursors, fonts...


HiveMind Utilities Related Software