This file contains a detailed explanation of the changes between individual versions of XINS. $Id: CHANGES,v 1.2414 2008/07/10 12:40:13 agoubard Exp $ ______________________________________________________________________________ CHANGES INTRODUCED IN XINS 2.2 ALPHA 2: * XINS/Java Common Library: - The fromString should throw the same TypeValueException as fromStringImpl. - The check of the value is done in fromStringImpl. - Added possibility for the HTTPServiceCaller to follow redirections. - Improved documentation of HTTPServiceCaller. - Added _xml simple type. - RFE 1863102: Make HTTPServiceCaller use controlTimeOut. * XINS/Java Server Framework: - Changed the way CompositeDataSupport is created for Properties in order to still compile with Java 6. - Fixed the way the percentage used statistics is computed. - RFE 2009573: Improve log message 3583. - RFE 2013460: Generate diagnostic context identifier if an invalid one is sent. * XINS/Java Client Framework: - Added possibility for the XINSServiceCaller to follow redirections. * Generation of server-side Java code: - Forward the details of the TypeValueException in the generated RuntimeProperties. * Generation of the WSDL: - Added name attribute to input and output elements for better .Net interoperability. - Added for better .Net interoperability. * Generated build file: - Fixed incorrect comment in help target, tools target -> help-tools target. * Logdoc: - Added to logs that are at FATAL level the class name and the message of the exception thrown if any. * DTD: - Added missing em in impl.dtd. * Other: - New copyright owner Online Breedband B.V. ______________________________________________________________________________ CHANGES INTRODUCED IN XINS 2.2 ALPHA 1: * XINS/Java Common Library: - Applied patch #1820583: Try to use the context ClassLoader to load a class using Class.forName(). - Added new method in Utils to try to get the context ClassLoader as Class.getContextClassLoader() is Java SE 5 dependent. - Implemented RFE #1809379: ElementParser.parse(File). - Implemented RFE #1812214: Element.getUniqueChildElement(). - HTTPServiceCaller is no longer final to allow alternative implementation like mocking. * XINS/Java Server Framework: - Changed the way the XML requests are cached as it caused errors with Tomcat 5.5. - Fixed incorrect unit logged for file watching interval. - Added APIServletSingleThreaded class that can be used in case you want the API to handle one request per thread at a time. - Fixed bug #1836531: Incorrect mapping for the SOAPMapCallingConvention. - Applied patch #1820583: Try to use the context ClassLoader to load a class using Class.forName(). - Statistics also return the percentage of memory used. * XINS/Java Client Framework: - XINSServiceCaller is no longer final to allow alternative implementation like mocking. * Generated build file: - Added a new attribute in impl.xml to dependency named 'deploy' to indicate whether the dependency should be deployed or not. By default the dependency is deployed. - PMD 3.9 is downloaded per default instead of PMD 3.7. * Generation of web.xml: - The APIServletSingleThreaded is used if one of the calling conventions declared in impl.xml is the Front-end CC. - Changed '/*' instead of '/' for the URL pattern in the generated web.xml as Tomcat 5 and 6 will return null for the getPathInfo otherwise. - Added new element web-app in impl.xml which allow to specify extra XML elements that you want to add in the generated web.xml file. * Documentation: - Added option for NetBeans 6 in case of unrecognized Request and Result objects. - Added partial documentation of the features added in XINS 2.2-alpha1. - Downgraded Docbook XSL to version 1.72.0 in order to have the table of content in the HTML generated pages. * DTD: - Added 2.2 DTD files. * Liraries: - Upgraded j2h.jar to version 1.5. ______________________________________________________________________________ CHANGES INTRODUCED IN XINS 2.1 RC 1: * XINS/Java Common Library: - Fixed the parameters were not propagated in the test form GUI if a check box or a combo box was used. - Changed e-mail from anthony.goubard@orange-ftgroup.com to anthony.goubard@japplis.com. - Null values are not allowed in PropertyReader. Setting a value to null should be consider the same as removing a value. * XINS/Java Server Framework: - Changed e-mail from anthony.goubard@orange-ftgroup.com to anthony.goubard@japplis.com. - Fixed possible NullPointerException when errorCode != null as the function specification should be used only for successful results. - Fixed bug #1787022: API.getAPISpecification() returns null during bootstrap. * XINS/Java Client Framework: - Changed e-mail from anthony.goubard@orange-ftgroup.com to anthony.goubard@japplis.com. * Generation of the WSDL: - The default value for a date or a timestamp has a different format in XML Schema. * Generation of the unit tests: - Fixed the environment file was not detected for the test forms. * Generated build file: - Fixed: changing XINS version didn't regenerate a new build.xml. - xins_home property should be passed to the call to build.xml. * Build- and release-process: - Updated xins maven version to 2.1. * Tools: - Updated the download of Glean to version 1.2.1. - Updated maven tools to point to xins 2.1. * Installer: - Changed the script installer to make it more independant of the project location and the OS. * Documentation: - Moved articles to the articles directory. - Added new article about the performance of XINS compare to other Web Services frameworks. - Added presentation of the features added in release 2.1. ______________________________________________________________________________ CHANGES INTRODUCED IN XINS 2.1 BETA 3: * XINS/Java Common Library: - Cleaned code with PMD such as removed unused imports. - Fixed possible NullPointerException in PropertyReaderUtils. - Renamed getWARFile() method to getWarFile(). - Cleaned code with CheckStyle such as fixed Javadoc. - Added @since XINS 2.1 for new methods and new classes. - Implemented RFE#1787031: New constructor for BootstrapException. - Added new method PropertyReaderUtils#getWithDefault to get a property value or the specified default value. - Added logs to the HTTPFileWatcher in case of I/O error. * XINS/Java Server Framework: - Cleaned code with PMD such as removed unused imports. - Cleaned code with CheckStyle such as fixed Javadoc. - Added @since XINS 2.1 for new methods and new classes. * XINS/Java Client Framework: - Cleaned code with PMD such as removed unused imports. * Generation of the unit tests: - Fixed missing import for the Log4J properties. * Build- and release-process: - Automatic update of the xins-docs/build.xml with the new version number when creating the release. * Documentation: - Adapted README.html for this 2.1 release. - Removed the lists.html as the forms on this page did work. This page has been replaced with the mailman page. ______________________________________________________________________________ CHANGES INTRODUCED IN XINS 2.1 BETA 2: * XINS/Java Server Framework: - The input parameters are cloned using another method than calling the clone method as the Map could be something else than ChainedMap. - If the CallingConvention#convertRequest throws an InvalidRequestException, the stack trace of the cause is printed. * XINS/Java Common Library: - Added more help text for the command java -jar .war -help. - Temporary files created by the internal Servlet container should be deleted when stopped. * Generation of server-side Java code: - Fixed add methods was generated for input data section element instead of list methods. * Generation of specdocs: - Added xins-project description to the main specdocs index.html. * Generated build file: - The clean target regenerates a fresh build.xml. This allows to append commands such as 'xins clean war-myapi'. - The clean- also removes the main build.xml and regenerates a fresh one. * Tools: - Added Glean in the download-tools target. * Build- and release-process: - Download JMX is needed to rebuild xins binaries. * Libraries: - Upgraded Log4J to 1.2.15. - Upgraded docbook XSLT to 1.73.2. - Upgraded xins-docs/lib to FOP 0.94. * Examples: - Fixed the org.xins.server.config property should be passed to the test target in the nbbuild.xml file. * Documentation: - Added XINS 2.1 features to the user guide. - Added chapter about integration with other frameworks to the user guide. * DTD: - Added possibility to have a description in the xins-project.xml. ______________________________________________________________________________ CHANGES INTRODUCED IN XINS 2.1 BETA 1: * XINS/Java Server Framework: - Replaced the name of the cookie set in the front-end CC from SessionId to SessionID. - Applied patch of RFE #1634856: Make public methods in FunctionResult throw IllegalArgException. - Applied patch of RFE #1634899: Refactor server so transactions are logged in one place. - Fixed include of other runtime properties files. - Fixed loading remote runtime properties on Windows. * XINS/Java Common Library: - Improved specification GUI and test form. - Added getDefault() method to ParameterSpec to get the specified default value of the parameter or attribute if any. - Added a regular expression log filter to the Console GUI. - Added new method getDescription() to Type and to the standard types. - Improved XML Viewer to print doctype declaration. - Specification GUI: no indentation if the meta function called is _WSDL. - Specification GUI: Name of the API displayed as header. - Specification GUI: Fixed meta function _CheckLinks instead of _CheckSettings. - TestFormPanel: Improved layout, default value displayed, background color if the value is invalid, and much more. - Added tool to test regular expression with the SpecGUI. - Do not output namespace for attributes in XML Element if already done. * Generation of client-side Java code: - Fixed if the input data element contained another data element the 'add' method was not generated. * Generation of the Java types: - Implemented getDescription() method for all defined types. * Generation of web.xml: - Added a comment on where to apply Servlet filters. Servlet filters can be used for example for compression, authentication, encryption or auditing. * Generated unit tests: - Added default Log4J configuration. * Generated WebStart file: - Added more comments. - Added XSLT used to generate the WebStart file to the release. * Generated build file: - Fixed error when generating WAR file for an API with categories. - Fixed incorrect directory specified for the javadoc-test- target. - Fixed the logdoc properties should be passed as parameters to . * Tools: - Added new tool "glean" that generates the Glean report for an API. More information about Glean at http://jbrugge.com/glean/index.html. * Tests: - Added test for the include of other runtime properties files. - Added test for the _xins-soap-map calling convention. - Added test for the ACL based on calling convention. * Librairies: - Upgraded Commons HttpClient from 3.0.1 to 3.1. * Examples: - Fixed the rest API did not compile. * Documentation: - New front-end page for the web site. ______________________________________________________________________________ CHANGES INTRODUCED IN XINS 2.1 ALPHA 3: * XINS/Java Common Library: - Implemented SF.net RFE #1771569: Implement equals/hashCode on ServletConfigPropertyReader. - Added unit test for the FunctionResult class. - SimpleDateFormat is not thread-safe so any use of it should be synchronized. - Changed ChainedMap to be cloneable and serializable. - The Element object uses ChainedMap for the attribute list instead of HashMap in order to have the attribute in the same order as the way they were set. - Implement equals and hashCode for Element. - Added support for the namespace prefix in Element. - Possibility to change the namespace prefix and URI for an Element. - Added possibility for the FileWatcher to monitor several files at once. - Added HTTPFileWatcher that monitors several URLs at once. - Added support in BeanUtils for method using 'is' or 'has' to return a boolean instead of 'get'. - Improved parsing of the arguments for java -jar . - Added graphical user interface to the Servlet container. - Changed the default logged pattern by moving NDC to after the log level. - Added graphical user interface for the specifications. - Added an XML syntax highlighting Swing component. - Added test form user interface. * XINS/Java Server Framework: - SimpleDateFormat is not thread-safe so any use of it should be synchronized. - Added _xins-soap-map calling convention that transforms the SOAP request as the wsdl-to-api command does. The output parameters and data section are also mapped to generated a SOAP XML tree. - Fixed incorrect transformation of output data element attributes in the SOAP calling convention. - ChainedMap is used instead of HashMap for the session properties and the input parameters in order to have them in the same order as the way they were set. - Added new runtime property org.xins.server.config.include which offer the possibility to include runtime properties files. - Added possibility to specified a URL for the runtime properties file. - Changed the default logged pattern by moving NDC to after the log level. - Fixed bug #1778917: Missing struct before member for output data element in the XML-RPC calling convention. * XINS/Java Client Framework: - Overridden hashCode and equals in AbstractCAPICallRequest so that two similar requests are equals. * Generated build file: - Passed the DTD reference to the antcall sub-targets. - -load-properties should be called before wsdl-to-api and xsd-to-api. - Fixed property conflict problem when targets of different APIs were called. - Fail if the runtime-properties or bootstrap-properties are missing while runtime properties or bootstrap properties are defined. - If impl.xml is changed the index.html of the specdocs need to be regenerated. - Fixed chainedmapper is not supported as direct mapper for the Ant task with Ant 1.6.2. - Fixed missing api name for the client command. * Generation of specification documentation: - Fixed error when a shared error code was defined in the examples. - inclusive-or and exclusive-or param combos should use 'or' to parameters. - Check that the name defined in the function file is the same as the name of the function. - The pattern type could be tested directly in the page using Javascript. * Generation of the OpenDocument Format: - inclusive-or and exclusive-or param combos should use 'or' to parameters. * Generation of the API from the WSDL: - Fixed invalid variable to create the error code file. - Fixed invalid call to a non-existing template. - The name of the element should be used for the element name and not the type name. * Tools: - Added new tool "webstart" that generates the Web Start file (also named JNLP file) for an API. * DTD: - Removed the patterntest element in the xins-projects.dtd as no longer used. ______________________________________________________________________________ CHANGES INTRODUCED IN XINS 2.1 ALPHA 2: * XINS/Java Common Library: - Fixed null values were put in the Map when using the BeanUtils#getParameters method. - The ServletClassLoader can detect the xins-common.jar using the XINS_HOME environment variable if needed. - Added automatic detection of the WAR file in the HTTPServletStarter when not passed as parameter. - Added possibility to pass the ClassLoader mode to the HTTPServletStarter. - Added new Ant task similar to the task with the option to never overwrite the destination files. - Added possibility to handle several request at the same time in the internal Servlet container (multi-threaded). * XINS/Java Server Framework: - Fixed the way the xins.properties was loaded when no org.xins.server.config is set was incorrect. - Implement RFE #1624142: ACLs for calling conventions. /!\ The allow methods have a new argument (that can be null). - Added getName and setName methods in the calling convention classes. * Generation of the opendoc: - Added colors to the examples. - Enlarged the example tables. - Added colors to the table headers. - Added the categories after the API description. - Use Courier New font for element names. - Added light gray borders to the tables. - Reduce the use of bold fonts. - Fixed missing uppercase for input and output section. - Fixed the description of the function, parameters and error was just the first sentence. - Fixed support for element in descriptions. - Fixed the "4" appearing before closing an element example. * Generated build file: - Added javadoc-test- to get the Javadoc of the unit tests. - Added possibility to execute the API using 'java -jar .war' - Replaced create-project.xslt and tools.xslt with build-create.xml and build-tools.xml as most of the code doesn't need to be dynamically generated. - Added build-apis.xml which contains static content of the old generated build.xml. This result in the reduction of the size of the generated build.xml. - Several bug fixes and optimalization during the refactoring. - The dependency libraries have been added to the classpath for the run and test targets. * Generation of specification documentation: - Fixed multiple textarea when there are multiple input data elements. * Documentation: - Changed