EAF 7.3-2 Release Notes


What is new in Release 7.3-2

This chapter lists new release changes:

  • Minor impelementation changes.

What is new in Release 7.3-1

This chapter lists new release changes:

  • bug fix - usage of the custom 'org.enhydra.xml.io.URLRewriter' implementation is enabled again (Luis Oliveira contribution - 27.12.2007.).

What is new in Release 7.2-1

This chapter lists new release changes:

  • MBean implementation of DODS related MBeans is moved from EAF (to DODS).
  • Container adapter session manager is improved to support Tomcat 5.0.x.

What is new in Release 7.1-4

This chapter lists new release changes:

  • First (default) URL of application can be encoded with session id for all session managers (parameter SessionEncodeFirstUrl).
    • interface SessionManager is extended with getEncodeFirstUrl method.
  • Removed usage of application parameter DeferredParsing.
  • Some bug fixses.
  • Ant maintenance - version 1.7.0 is included in this release.
  • AntContrib maintenance - version 1.0b3 is included in this release.

What is new in Release 7.1-3

This chapter lists new release changes:

  • PDF post-processor implementation changed to support FOP version 0.93 and all supported output formats - PDF, HTML, RTF, XML, TXT, PS, PCL, AFP (SVG and MIF are in sandbox for now).
  • URL rewrite support.
    • Now supported also in "writeDOM(Node node, OutputOptions oo)" method (HttpPresentationResponse).
  • XMLC maintenance - version 2.3 is integrated in this release.
    • XMLCDeferredParsingFactory is now only XMLC factory used.
  • Xerces maintenance - version 2.9.0 is included in this release.
  • log4j maintenance - version 1.2.14 is included in this release.
  • Lots of code cleanup.

What is new in Release 7.1-1

This chapter lists new release changes:

  • DODS API is integrated in EAF API now (not part of DODS any more).
  • SessionManager functionality extended with empty session path support.
    • EmptySessionPath - new SessionManager configuration parameter whitch determins whether to use empty path (/) as session cookie path attribute value! Recognized values are true or false (default is false).
  • Request/Response pre/post processing:
    • Profiling mechanism introduced
      • "RequestPreProcessor.TimeProfiler" - profiling configuration option for request pre-processors
      • "ResponsePostProcessor.TimeProfiler" - profiling configuration option for response post-processors
      • Recognized number values:
        • Negative - profile all
        • Zero - no profiling
        • Positive - profile processing that took longer that specified amount of milliseconds
    • org.enhydra.util.ajaxforms - package contains sample response post-processor implementation (and utility classes) as integrated support for AjaxForms XForm engine.
    • org.enhydra.util.chiba - Chiba XForm engine support implementation is improved.
      • Chiba pre-processing enabled scripting (Ajax) support! Because of this we've integrated DWR (version 1.1.3) project binaries.

What is new in Release 7.0-5

This chapter lists new release changes:

  • Request/Response pre/post processing:
    • Chiba pre-processing enabled scripting (Ajax) support!
    • Introduced generic XSLT pre and post processor!
      • org.enhydra.util.xsl.GenericXSLTPreProcessor - collects request parameters (starting with configured prefix) and introduces them into SessionData object.
      • org.enhydra.util.xsl.GenericXSLTPostProcessor - gets SessionData parameters (starting with configured prefix) and translates them to the configured XSL transformation.

What is new in Release 7.0-4

This chapter lists new release changes:

  • Request/Response pre/post processing:
    • Chiba pre-processing logic changed in order to enable standardized XForm engine submission handle!
    • FormFaces post-processor implemented as another XForm engine support!
    • PDF post-processor implementation changed to support all FOP output formats (PDF, XML, TXT, SVG, MIF, PS, PCL). Therefore, according to new functionality present implementation changed name from 'Fo2PdfResponsePostProcessor' to 'Fo2FopResponsePostProcessor'
    • org.enhydra.util.RequestPreProcessor - interface extended enabling object cloning.
    • org.enhydra.util.ResponsePostProcessor - interface extended enabling object cloning.
    • All 'RequestPreProcessor' and 'ResponsePostProcessor' implementations are now calculating all configuration file (directory) paths (if any) from application configuration file itself!

What is new in Release 7.0-3

This chapter lists new release changes:

  • DODS maintenance - version 7.0-3 is included in this release.

What is new in Release 7.0-2

This chapter lists new release changes:

  • XMLC maintenance - version 2.2.10 is included in this release.
  • Axis maintenance - version 1.4 is included in this release.
  • Xalan - Xalan-Java is an XSLT processor for transforming XML documents into HTML, text, or other XML document types. Version 2.7.0 integrated!
  • Fop - Apache FOP (Formatting Objects Processor) is the world's first print formatter driven by XSL formatting objects (XSL-FO) and the world's first output independent formatter. It is a Java application that reads a formatting object (FO) tree and renders the resulting pages to a specified output. Version 0.20.5 integrated!
  • Chiba - Chiba is an Open Source Java Implementation of the W3C XForms standard 'that represents the next generation of forms for the Web'. Version 1.2 integrated!
  • Request Pre-Processing and Response Post Processing introduced to TAF -
    • com.lutris.appserver.server.RequestPreProcessingManager - pre-processing manager that manages initialization of configured request pre-processors and triggers their request processing if needed.
    • com.lutris.appserver.server.ResponsePostProcessingManager - post-processing manager that manages initialization of configured response post-processors and triggers their response processing if needed.
    • com.lutris.appserver.server.httpPresentation.HttpPresentationResponse - introduced response post-processing manager.
    • com.lutris.appserver.server.StandardApplication - introduced request pre-processing and response post-processing manager.
    • org.enhydra.util.RequestPreProcessor - New interface Introduced! Implementation does some additional request processing before its access to the PO object.
      • org.enhydra.util.chiba - package contains sample request pre-processor implementation (ChibaRequestPreProcessor) and utility classes.
    • org.enhydra.util.ResponsePostProcessor - New interface Introduced! Implementation does some additional response processing before its returned to the client.
      • org.enhydra.util.chiba - package contains sample response post-processor (ChibaResponsePostProcessor) implementation and utility classes.
      • org.enhydra.util.fo.Fo2HtmlResponsePostProcessor - sample response post-processor implementation.
      • org.enhydra.util.fo.Fo2PdfResponsePostProcessor - sample response post-processor implementation.
      • org.enhydra.util.xml.Xml2FoResponsePostProcessor - sample response post-processor implementation.
  • com.lutris.appserver.server.httpPresentation.servlet.HttpPresentationServlet - initialization of DODS asynchronous cache load is started right after application startup.
  • com.lutris.appserver.server.StandardApplication - 'Init_Async_Cahe_Load' Database Manager MBean operation introduced. Starts DODS async cache load with configurable thread number.
  • com.lutris.logging.StandardLogChannel - Standard logging message now displays name of the current thread.
  • com.lutris.appserver.server.httpPresentation.servlet.ServletHttpPresentationResponse
    • writeDOM(XMLObject) -> writeDOM(Node)
    • writeDOM(OutputOptions, XMLObject) -> writeDOM(OutputOptions, Node)

What is new in Release 7.0-1

This chapter lists new release changes:

  • Session Interface Extended - We've extended 'Session' interface with "setHttpSession()" method in order to enable complete (including SessionData) session serialization for 'Container Adapter Session Manager' implementation group.

What is new in Release 7.0-beta1

This chapter lists new release changes:

  • JNDIAdapter (bug fix) - resolved problem with null JNDI context element registered.
  • MBean Implementation - Multi Join Qerry Cache administration and monitoring enabled.
  • Configuration Files - Changed default configuration file initialization option (ConfFileClass) for "HttpPresentationServlet" (from "com.lutris.util.ConfigFile" to "org.enhydra.util.XMLConfigFile"). We have also introduced the default value for the other initialization parameter ("ConfFile" - path to configuration file) - "web.xml". This way, we have simplified required Enhydra servlet ("HttpPresentationServlet") "web.xml" definition!
  • XMLC maintenance - version 2.2.9 is included in this release.

What is new in Release 6.6-1

This chapter lists new release changes:

  • Revised PO caching procedures.
  • Axis request recognition adapted.
  • Improved existing ('web.xml' defined) configuration parameter initialization (definition support). 'Config' object now supports diferent configuration parameter types (not only 'java.lang.String').
  • Implemented encoding support for MIME header initialization.
  • XMLC maintenance - version 2.2.8.1 is included in this release.
  • Axis maintenance - version 1.2.1 is included in this release.

What is new in Release 6.5-1

This chapter lists new release changes:

  • 'SessionManager' implementation changed:
    • 'ContainerAdapterSession', 'ContainerAdapterSessionManager' and 'JmxContainerAdapterSessionManager'- implementations revized.
    • 'TomcatContainerAdapterSessionManager' - new implementation included. This 'SessionManager' implementation offers better Tomcat Session Manager wrapping.

What is new in Release 6.4-1

This chapter lists new release changes:

  • Changed initialization of 'MultiserverClassloader' for Enhydra Manager ('HttpPresentationServlet' implementation).
  • Application MBean:
    • Adapted application MBean naming (name <-> type).
    • Changed Application Context parameter (Context MBean initialization).
    • Changed 'getAppInfo()' method implementation for base EAF MBean implementation - calls 'toHtml()' application method if one exists.
  • Resolved problems with PO resources caching (e.g. applet loading).
  • Resolved problem with binaries (loaded by 'MultiClassLoader') locking after 'HttpPresentationServlet.destroy()' method call.
  • Fixed problem with multiple EAF-AxisService instances deployed (in case o shared EAF binaries)  - 'AxisService' was "static" attribute of 'HttpPresentationServlet'. That cased successful initialization of first EAF-Axis service but disabled initialization of others (if any) 'EAF-AxisService' instances defined.

What is new in Release 6.3-1

This chapter lists new release changes:

  • Implemented new 'StandarApplication' MBean logic. All application MBeans extend basic (abstract) 'org.enhydra.util.EafConfigMBean' implementation which implements basic set of Dynamic MBean -> Application Config object operations.
    Every application on its startup registers next set of Dynamic MBean's:
    • Context - gives basic information about application context (full application name, context name an absolute context path),
    • SessionManager - enables basic 'SessionManager' administration (one for every application),
    • PresentationManager - enables basic 'PresentationManager' administration (one for every application),
    • DatabaseManager - enables basic 'DatabaseManager' administration (one for every application - if one is registered),
    • Database-<Database Name> - (one for every logical database registered to application 'DatabaseManager'),
    • Database.Table-<Database Name>.<Table Name> - (one for every table found),
    • ApplicationConfig - administration of the rest (not SessionManager, PresentationManager or DatabaseManager) of configuration parameters (one for every application).
  • Changed creation of session key for new session in 'StandardSessionManager' in case of director request (support for new director implementation).
  • Changed cookie creation in cases when new session is created (no more slash at the end of the path parameter in cookie).
  • 'MonologFileLogger' (an extension of a Logger that channels the logging trough Monolog instead of Tomcat's default 'FileLogger') renamed to 'TomcatMonologFileLogger' - naming issue only (makes logger nature more obvious).
  • JAVA 1.5 support.
  • Included new EAF tool (with purpose to enable JAVA 1.5 support): 'Crimson' - Java XML parser.

 

What is new in Release 6.2-2

This chapter lists new release changes:

  • EAF logging configuration process adapted to accept relative (not only absolute) path to Log4j or Monolog configuration file ('Log4j' or 'Monolog' parameters defined in application configuration file).
  • Implemented 'StandardApplication' session initialization before first application request redirection.
  • Removed existing SessionManager parameter - 'SessionEncodeRandomParameter' (Peter Stehlik patch).
  • Implemented new SessionManager parameter - 'SessionEncodeFirsUrl'. Parameter indicates whether to (session) encode default application url ('Application.DefaultUrl' parameter in application configuration file) or not. This is optional parameter with default value set to false.

    NOTE: This parameter is closely connected to 'SessionEncodeUrlState' (Always, Auto (default) and Never) parameter. If 'SessionEncodeUrlState' value is set to 'Always' then 'SessionEncodeFirsUrl' parameter value will be forced to true and if 'SessionEncodeUrlState' value is set to 'Never' 'SessionEncodeFirsUrl' parameter value will be forced to false.

    Parameter helps to preserve initial application session during first request redirection when the URL based session tracking is used (i.e. either cookies are disabled or the "SessionEncodeUrlState" is set to "Always" in the application configuration file) - bug reported by Peter Stehlik.

  • XMLC maintenance - version 2.2.6 is included in this release.

    IMPORTANT NOTE: New XMLC (version 2.2.6) requires that DOM3 interfaces are supplied at both buildtime and runtime (XMLC's compatibility for running under JDK1.4.x). Because of that we had to include additional DOM Level 3 API binary (dom3-xml-apis.jar: acquired from last dom3 Xerces release - version 2.6.2).

  • Xerces binaries now included as independent tool (till now they have bin a part of ANT's binary distribution).

    Xerces binaries included:

    • xercesImpl.jar - Xerces 2.6.2
    • xml-apis.jar - Xerces 2.6.2
    • dom3-xml-apis.jar) - DOM3 Xerces 2.6.2-beta2
  • Included license and version files for all used tools.
  • Included patch - adapted 'StandardSessionManager.deleteSession(sessionKey )' method to allow deletion of passive (not just active) sessions. Thanks to Michael Strapp.

What is new in Release 6.1-1

This chapter lists new release changes:

  • Fixed problem with memory persistence parameter (Application Configuration Parameter in web.xml , SessionManager/MemoryPersistence). Sessions will be held in memory during restart application
  • Suport for parameter idle time for sessions (Application Configuration Parameter in web.xml , SessionManager/MaxIdleTime) for ContainerAdapterSessionManager and JmxContainerAdapterSessionManager.
  • Fixed problem with two same cookies in response when using ContainerAdapterSessionManager or JmxContainerAdapterSessionManager.
  • Implemented ('StandardApplication') unregistration of application MBean's at applications shutdown (for MBean-s registered during applications startup).
  • Implemented 'ConfConfigurationFactory' class which provides the possibility of reading application configuration parameters from '<appName>.conf' file.
  • Fixed problem with character encoding. Support for Servlet 2.3/2.4 specifications , method setCharacterEncoding(java.lang.String env).
  • New parameter added (Application Configuration Parameter in web.xml, Application/Encoding ). Specify character encoding which will be used by server to encode form data.
  • Included patch in available() method - com.lutris.mime.MultipartMimeInputStream class. Many thanks to Michael Strapp.

What is new in Release 6.0-1

This chapter lists new release changes:

  • Integrated all implementation changes from Enhydra 5.1-16 (since Enhydra 5.1-1)

EAF

Enhydra Application Framework (EAF) is a collection of Java classes, which provide the runtime infrastructure for Enhydra applications. It implements the Enhydra "super-servlet", provides dynamic URL-JSESSIONID rewriting, PO caching, session-, database-, logging-, configuration- and XMLC API's.

The Enhydra application framework includes:

1. Presentation Manager
2. Session Manager
3. Database Manager
4. Configuration
5. Logging

In general, the application framework includes all the classes in the com.lutris.appserver.server.* packages, which provide the infrastructure that Enhydra applications use at runtime.

These release contains next jar files:

1. Core:

  • eaf_api.jar: Enhydra Application Framework API's (Application, Presentation, DatabaseManager, Session, Logging, Configuration)

  • eaf.jar: Enhydra Application Framework implementations

  • util.jar: utility classes - MultiClassLoader, Config etc.

2. Logging:

  • eafcommonlogging.jar: Standad implementation of Enhydra Logger API

  • eaflog4j.jar: Log4j implementation for Enhydra logger API

  • eafmonolog.jar: monolog implementation of Enhydra logger API. Contains CommonLogger and MonologSink Adapters for Monolog logging

  • eafMonologFileLogger.jar: Tomcat File logger adaptre for Monolog logging

3. Session:

  • eafsession-containerAdapter.jar: simple session manager to be used with servlet containers capable of managing their sessions

  • eafstdsessions.jar: simple session manager which interconnects the servlet container sessions and enhydra sessions by using the same session keys (generated by session container)

4. Configuration

  • eafconfreader.jar: ConfigFile class (implementation of ConfigFileInterface) used for managing of '*.conf' configuration files

  • eafwebxmlreader.jar: XMLConfigFile class (implementation of ConfigFileInterface) used for managing of '*.xml' configuration files

5. External Tools:

  • jivan.jar: Jivan HTML Reparser (version 1.0)

  • log4j.jar: Apache Jakarta Logging Project (version 1.2.8)

  • xercesImpl.jar: Apache Xerces Project (version 2.5.0)

  • xml-apis.jar: Apache Xerces Project (version 2.5.0)

  • xmlc.jar: Enhydra XMLC Project (version 2.2.5)

  • dbmanager-api.jar: Enhydra DODS Project (version 6.0-1)

6. Servlet

  • cgi_servlet.jar: CGIServlet implementation (HttpServlet extension)

  • enhydra_snoop_servlet.jar: EnhydraSnoopServlet implementation (HttpServlet extension)

  • file_servlet.jar: FileServerServlet implementation (HttpServlet extension)

  • jar_servlet.jar: JarServerServlet implementation (HttpServlet extension)

 

EAF Tools

This chapter lists tools within EAF used during build, compile and/or runtime.

  • Ant - version 1.5.4
  • AntContrib - version 1.5.2
  • Axis - version 1.2beta 1320 March 31 2004
  • Catalina - Tomcat's jar used for Monolog logging adapter
  • Commons-logging - version 1.0.3
  • dods - version 6.0-1
  • Jetty - Jetty's jar used for Monolog logging adapter
  • jivan - version 1.0
  • jmx - mx4j implementation version 2.0.1
  • log4j - version 1.2.8
  • Monolog - version 2.3.1
  • XMLC - version 2.2.5
  • Servlet - Enhydra 5.1-16 servlet.jar

NOTE: EAF contains only necessary binaries of its tools.

Platform and system information

Table of Contents

Platform support
JDKs

Platform support

Through the open-source development process, EAF have been used on a wide variety of platforms.

JDKs

  • Sun JDK 1.4.x on Windows (NT,2000 & XP), Linux, Solaris