|0.05 2008-04-23 21:11 -0700|
This step of the evolutionary prototyping for ODMJNI provides interfaces and classes that can be used in experimental integration into Java-based applications for the purpose of determining where to integrate the ODMA-aware operations.
This provides early confirmation that the application will behave properly in the absence of ODMA, and that those places where ODMA operations are required when ODMA is present have been adequately identified.
The next versions will allow confirmation of operation under varying degrees of ODMA presence, followed by expansion of functionality. The interface portions that are now operational are likely to remain stable.
The following changes were made as part of developing this version:
- The Connection interface is renamed OdmConnection to minimize possible name ambiguity and conflicts when Java import statements are used to abbreviate references of info.odma.practical100.OdmConnection to simply OdmConnection.
- A new OdmPendingDocument interface is defined for the case where the ODMA DMS has been requested to accept a new document from the application. The OdmPendingDocument interface determines whether and where the application may deliver a copy of the content to be used in a fresh managed document.
- The Document interface is renamed OdmWorkingDocument to distinguish it from OdmPendingDocument. The OdmWorkingDocument interface is provided when the application requests access to an existing managed document for viewing and possible modification. The interface determines whether the request has been honored and, if so, where the content of the document can be found in a location accessible to the application.
- A new base interface, OdmInterface, is introduced for the common members that all info.odma.practical100 interfaces provide. The OdmDocument interface extends OdmInterface with those members that are common to OdmPendingDocument and OdmWorkingDocument. These interfaces are solely for harmonizing the engineering of the primary public interfaces. They are not intended to be separately useful to ODMA-aware applications. They are very useful in the implementations and the test programs.
- The methods of the public interfaces are rationalized so that specific function and context is accounted for. Even when operations return the same type of value (e.g., dmsDefaultAvailable() and dmsAvailable()), the method names are kept distinct as a reminder of the difference in semantics.
- The OdmNullConnection class implements the default null behavior for absent connections. This is the base class used for evolution of all more-functional OdmConnection implementations.
- The OdmNullDocument class is implemented as a package-private class to provide null behaviors for OdmDocument interface methods. Applications only refer to Connection classes explicitly. All introduction of other classes is via interfaces alone.
- OdmNullPendingDocument and OdmNullWorkingDocument package-private classes are extensions of OdmNullDocument. These classes are used to deliver null-document implementations from those operations of OdmNullConnection that return (null-) document interfaces.
- OdmNullPendingDocument and ODmNullWorkingDocument classes will be extended for the progressive implementation of non-null ODMJNI document operations.
- The BuildAlpha.bat file is modified to compile the entire 0.05alpha package automatically simply by compiling the OdmNullConnection.java source file. That will automatically build current versions of everything else in the package.
- The TestNullConnection application is added to the package, in folder info\odma\practical100\test. The program displays all null-connection behaviors that can be explored without risk of causing any operations or changes to take place. The test is not comprehensive, but is a good foundation for evolution of regression tests along with evolution of the ODMJNI implementation.
- Hamilton, Dennis E.
- info.odma.practical100 Component Development -- 0.05alpha Evolutionary Prototype. AIIM ODMA Interoperability Exchange, ODMdev Development Note D061001 page d061001d 0.05, August 19, 2007. Available at <http://ODMA.info/dev/devNotes/2006/10/d061001d.htm>.
created 2006-10-20-13:21 -0700 (pdt) by