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 in in the xins-docs/build.xml.
* Build- and release-process:
- Fixed incorrect location of the icon for the Windows installer.
* Other:
- Fixed the package list for XINS and log4j.
- Added the package-list for JUnit.
- Added more debug sources for the nbbuild.xml of the petstore.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 2.1 ALPHA 1:
* XINS/Java Common Library:
- Implemented RFE #1654262: Implement equals(Object) on PropertyReader
classes. Contribution from Ernst de Haan.
- Added a BufferedReader to read from the socket input stream.
* XINS/Java Server Framework:
- Implemented RFE #1631516: Log entry 3408 should specify value of fallback
default.
- Implemented RFE #1633455: Get all properties from the RuntimeProperties
object.
- Implemented RFE #1636219: Added file name to the logs when the thread
stops. Contribution from Ernst de Haan.
- Implemented RFE #1636219: Invalid XML-RPC request if namespace set.
- Fixed bug #1371632: XML-RPC: 400 returned instead of XML-RPC fault.
* XINS/Java Client Framework:
- If no data section, the _data parameter is not sent.
- If no context is available, the _context parameter is not sent.
* Generation of server-side Java code:
- Removed creation of _errorResult when the function has no input parameters
and no input data section.
- Removed creation of the parameter when the type is _text and is optional
in checkOutputParameters() as not used.
- Changed Request.equals() and Request.hashCode() to use in some cases
equals() instead of ==.
* Generation of client-side Java code:
- Fixed bug #1703483: CAPI javadoc doesn't mention Error Result Code
exceptions.
* Generated build file:
- The build directory is deleted if the version of XINS has changed between
two build.
- Added new target javadoc-apis to generate the Javadoc for all APIs.
- Clean target should also delete the generated WSDL file.
* Generation of specification documentation:
- If no environment is specified for an API, the test form page is still
generated and a text field is proposed to the user to fill the location
of the API. The value is stored in a cookie.
- Fixed incorrect CSS for specdocs.
- Fixed some invalid XHTML.
- Added a favicon.ico in the specdocs directories.
- Fixed Bug #1576547: No warnings when resultcode is not referenced from
api.xml.
- Added meta description for the generated HTML pages.
- Added link to the favicon in the generated HTML pages.
* Tools:
- Upgraded Maven pom to the new stable 2.0 release.
- Added new target emma to execute the unit test coverage of an API using
EMMA (http://emma.sourceforge.net).
* Examples:
- Fixed incorrect runtime property used to define the logdoc locale.
* Documentation:
- Added primer.html to redirect to primers/primer.html.
* Build- and release-process:
- Added NetBeans project files to CVS.
- Added missing src/tools/dojo directory to the release.
- Implemented RFE #1741660: building xins doesn't include Spring packages.
* DTD:
- Added 2.1 DTDs.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 2.0:
* XINS/Java Common Library:
- Fixed ElementSerializer as xmlenc attribute method does not accept null
values.
* XINS/Java Server Framework:
- Improved error messages in the _xins-xslt cc in case it doesn't find the
XSLT files.
* Generation of client-side Java code:
- If a runtime property has a default value, the method generated should
return the same object if the property was requited.
* Generation of the API from the WSDL:
- Added more comments.
- Generation of other files than api.xml now works with Java 5 and Java 6.
* Generated build file:
- Fixed the help target with the new tools and help-tools target.
- Fixed the resultcodes.xml should be also generated in case all error
codes are shared error codes.
- Improved handling of file regeneration when function specification change.
- Updated the create-impl- target to point to the 2.0 DTD.
- Updated the create-impl- target by adding a comment with the
possible elements in impl.xml.
* Generation of specification documentation:
- Selection -- blank -- should not reset the environment field.
* Documentation:
- Added links to the user guide from the features page.
- Changed the documentation page from a bullet list to tables.
* Other:
- Fixed, shared error code should also be used in the examples.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 2.0 BETA 3:
* XINS/Java Common Library:
- Removed unused code detected by PMD.
- Fixed Javadoc and other small problems detected by Checkstyle.
- Fixed incorrect class cast in BeanUtils.
- Fixed NPE in XinsCapiFactoryBean.
- Several small changes pointed by FindBugs tool.
- Added @since XINS 2.0 for new classes and new public methods.
- Fixed bug in TextUtils.removeCharacter() method.
- Improved performance of the internal Servlet container by checking for
index.html only for HTTP GET.
- Parameters are only serialized when logged for the first time.
- Removed caching of the HttpClient object in the HTTPServiceCaller as it
seems to slow down the system.
- Removed the MultiThreadedConnectionManager as it seems to slow down the
system.
- Downgraded log message 1101 to DEBUG level as it contains the same
information as log 1107 or other logs printed in case of failure.
* Logdoc:
- ExceptionUtils.getRootCause() accepts null argument.
* XINS/Java Server Framework:
- Removed unused code detected by PMD.
- Fixed Javadoc and other small problems detected by Checkstyle.
- Use notifyAll() to wake up the runtime property file watcher.
- If the conditional redirection in XINS FF fails try the standard
redirection mapping.
- Several small changes pointed by FindBugs tool.
- Added @since XINS 2.0 for new classes and new public methods.
- Improve detection of the XINS FF CC.
- The full URL is returned in the _SMD meta function.
- In XINS FF, first check that the identical input parameter does not
exist before doing a mapping of parameters.
- Improved log in case that the XINS Server fails to start.
* XINS/Java Client Framework:
- Removed unused code detected by PMD.
- Several small changes pointed by FindBugs tool.
- Added @since XINS 2.0 for new classes and new public methods.
- Detection of functional error code is done using CAPI.isFunctionalError()
method. This improves the performance of the CAPI.
- Parameters and data section are only serialized when logged for the first
time.
* Generation of logdoc code:
- Do not log the message with the exception at debug level if the exception
is null.
* Generation of client-side Java code:
- Added implementation of CAPI.isFunctionalError().
* Tools:
- Added 2007 as allowed year in the java.header checkstyle file.
- Default directory for installing FindBugs and JMeter is XINS_HOME/.. .
- Updated to download FindBugs 1.2.0.
* Libraries:
- Updated commons-logging.jar to version 1.1.
- Updated commons-net to version 1.4.1.
- Updated jsch.jar to version 0.1.33.
* Build- and release-process:
- If force=true, the cvs diff is not checked.
- Added new profile-perftests target.
- Rollback installer to InnoSetup 5.1.8 as higher versions ask for
administrator right for Windows 2000 install.
* Tests:
- Tested with Tomcat 5.5 (unpack, no unpack), Jetty 5.1, Jetty 6.1,
Glassfish v1 and Glassfish v2 beta2.
* Documentation:
- Updated README.html with XINS 2.0 information.
- Updated the user guide with XINS 2.0 features.
- Updated the front-end framework manual with XINS 2.0 features.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 2.0 BETA 2:
* Logdoc:
- The following classes have been removed as no longer used:
AbstractLogdocSerializable, LogdocHexConverter, LogdocSerializable,
LogdocStringBuffer, UnsupportedLocaleError, MandatoryArgumentChecker.
* XINS/Java Common Library:
- Removed methods using the LogdocSerializable class.
- Deprecated the org.xins.common.threads.QueueTimeOutException class as not
used.
- Fixed getPathInfo and getPathTranslated in the XINSServletRequest.
- Removed the package org.xins.common.threads as it is not used.
- Fixed possible NullPointerException in the Element.QualifiedName class.
- BeanUtils.convert can also convert to a List or Abstract collection.
- BeanUtils.getParametersAsObject should not convert values to String.
- Improved detected source class and source method when logging an ignored
exception or a programming error.
- Removed unneeded parameters to the call to Utils.logIgnoredException.
- Improved handling of primitive types for converting objects.
- Removed IOReader.readFullyAsBytes as it doesn't work correctly.
- Fixed incorrect possible error message in UppercaseTask.
- Added comment that the container package should not be used as it may
be removed.
- Added support for TargetDescriptor for BeanUtils.getParametersAsObject().
- Added a log when the convertion fails in BeanUtils.
- Removed some TODO statements no longer relevant.
* XINS/Java Server Framework:
- Removed deprecated class FormattedDate.
- Various bug fixes in the JSONCallingConvention.
- Various bug fixes in the JSONRPCCallingConvention.
- Fixed incorrect serviceURL for the _SMD meta function.
- Removed unneeded parameters to the call to Utils.logIgnoredException.
- Conditional redirection will not happen if the function returns an error.
- Removed deprecated method
APIServlet.service(ServletRequest, ServletResponse).
- Null JSON objects should be specified with JSONObject.NULL and not null.
- Added logging when the requested path cannot be found in the WAR file.
- Removed some TODO statements no longer relevant.
* XINS/Java Client Framework:
- Removed methods using the LogdocSerializable class.
- Removed the DataElement class replaced by org.xins.common.xml.Element.
- Removed some TODO statements no longer relevant.
* Generated build file:
- Use instead of task as
loadproperties fails if the file does not exist.
- Fixed incorrect location of the build.properties file.
* Generation of specification documentation:
- The _autofill parameter of the test form should not be sent.
* Tools:
- Fixed missing variable in api_to_smd.xslt.
- Fixed incorrect calling convention used in api_to_smd.xslt.
- Fixed the location variable was not used in api_to_smd.xslt.
- Avoid double / in the service URL in api_to_smd.xslt.
* Examples:
- Added new Ajax example using the DOJO toolkit.
- Upgraded Sarissa.js to version 0.9.7.8.
- Changed Sarissa.js license to Apache 2.0.
* Tests:
- Splitted the CallingCallingTests class in several classes according to
the calling convention tested.
- Added tests for JSON and JSON-RPC calling conventions.
- Added call to the smd target.
- Added tests for the new meta functions _WSDL, _SMD, _DisableAPI and
_EnableAPI.
- Added tests for the Element class.
- Added more tests for the BeanUtils class.
- Fixed tests for the frontend framework.
- Added tests for HungarianMapper and UppercaseTask.
- Added tests for UniqueProperties.
* Build- and release-process:
- Added new clean-release target.
- Upgraded installer to Inno Setup version 5.1.12.
- Added xmlenc license to the release.
- Added Sarissa license to the release.
- Added myproject.smd to the release.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 2.0 BETA 1:
* XINS/Java Common Library:
- Fixed missing _list, _set and _hex in the list of the possible pre-defined
types in the spec package.
- Added convertion in BeanUtils from ItemList to a Collection and vice-versa.
- Added convertion in BeanUtils from Java Date to a XINS Date or Timestamp
and vice-versa.
- Added a new method in BeanUtils to get the parameters of the Request (on
the server side) or of the Result (on the client side) as standard Java
objects.
- Added a new method in BeanUtils to be able to provide a mapping of
element names and/or attribute name for the xmlToObject method.
- Removed old deprecated methods of the Servlet container package.
- Fixed incorrect links in the Javadoc.
- Added new public method BeanUtils.convert() for objects convertion.
- Added the possibility to change the local name of an XML element.
- Fixed possible NullPointerException in BeanUtils.xmlToObject().
- Added new method in IOReader to read the bytes of an InputStream.
- Added new package org.xins.common.spring to ease integration with the
Spring framework.
* XINS/Java Server Framework:
- Removed unused variables in API.java.
- Removed some methods and constructors in ResultCode.java.
- Removed unneeded log messages about the calling convention.
- Replaced the templates.callingconvention.source property of the _xins-xslt
CC to templates..xins-xslt.source.
- Removed the templates.callingconvention.parameter runtime property for the
xins-xslt CC.
- Added the templates.parameter.prefix for the xins-xslt CC that defines the
prefix of the _template parameter. If not set or empty, the _template
parameter is not allowed.
- Fixed incorrect links in the Javadoc.
- Added JSON as library for the Javadoc.
- The FunctionResult.checkOutputParameters() method is now public in order
to enable external validation.
- If a runtime property is set more than once in the runtime property file
the API will log it as an error and fail to start.
- Fixed _ReloadProperties meta function which was doing nothing when the
watch interval was different of 0.
- Clone the input parameters in the SessionManager to avoid
ConcurentAccessException.
- The public constants defined in APIServlet have been moved to the more
appropriate class.
- Reduced the visility of the constants from public to private, friendly or
protected.
- The statistics are now detailed per default.
- Fixed possible NullPointerException in the xins-xslt cc.
- Added logging of the location of the XSLT when loading and compiling a page.
- Fixed transformation error when shared error code is used.
- Added _SMD meta function for better integration with DOJO toolkit.
- Used the put method to fill in the JSON object instead of append.
- Removed unneeded creation of error code in APIImpl.java.
- Fixed errors with shared error code.
- Generated error code are now public.
- Methods in the SOAP calling convention are protected in order to ease
custom parsing and creation of SOAP messages.
- Renamed templates.parameter.prefix runtime property to
templates..xins-xslt.parameter.prefix.
* Generation of the API from the WSDL:
- Added more comments in the code.
- When recursively going into complex types, add a prefix to the element
name.
- Added declaration of the lists in the api.xml.
* Generation of the unit tests:
- Added Javadoc to the tests.
* Generation of the web.xml:
- Added the build java version used to compile the API.
* Generated build file:
- Added json.jar as a dependency in the WAR file.
- Added the build java version used to compile the API.
- Removed unneeded comment printed to the console.
- The NoBannerLogger is now used when executing the build.xml.
- If a category changes, the index.html of the specdocs should also be
regenerated.
- The WSDL should be regenerated when the specifications change.
- Generated files depending on the content of types and error code should
also be regenerated when a shared type or shared error code changes.
* XSLT:
- Moved the class fields before the constructor.
- Changed the default indentation in editable generated Java files to 4
spaces as specified in the Java coding convention.
If you use another indentation, use the 'Reformat code' feature of your
favorite IDE.
- Avoid unnecesasry if condition in checkParameters().
* Tools:
- Added new 'smd' target that generates the SMD (Simple Method Description)
file for an API.
The location of the API can be specified with the smd.endpoint build
property.
- Upgraded maven to 1.5.2.
- Improved use of nbbrowse task in NetBeans to open a local file correctly.
- Added debug fix (apply patch) in the project pop-up menu in NetBeans.
* Build- and release-process:
- Changed the package-maven target to the maven target.
- The maven target now also upload the created jar file to sourceforge and
print the issue to create in Maven.
- Added Javadoc to the Maven modules.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 2.0 ALPHA 6:
* XINS/Java Common Library:
- Fixed the incorrect cause was set for the CallException (it was the cause
of the cause).
- Clarified the message showed when a CallException is thrown.
- Simplified the output when describing the HTTPCallRequest.
- Simplified description of the call configurations.
- The CallConfig classes are no longer Thread safe.
- Removed unneeded comments.
- Moved createPattern method from TextUtils to PatternUtils. The
HungarianMapperTask won't then fail because of missing oro library.
- Moved the class fields before the constructor.
- Moved the static methods after the constructor.
* XINS/Java Server Framework:
- Added a new bootstrap property to specify an error page when the
XSLT transformation fails in the XINS FF.
- A default error message is displayed when the XSLT transformation fails
in the XINS FF.
- Fixed the template for the Control command was not cached in the XINS FF.
- The call target is no longer required for a CallException.
- The value of an invalid value for type error is now returned in the
message.
- Fixed possible error if the function is empty.
- Removed unneeded comments.
- Moved the class fields before the constructor.
- Moved the static methods after the constructor.
* XINS/Java Client Framework:
- The UnacceptableRequestException now extends XINSCallException instead
of RuntimeException.
- Added new UnacceptableMessageException which is used for invalid messages.
- If value is invalid, the invalid value is also given in the message.
- Simplified the output when describing the XINSCallRequest.
- Simplified description of the XINS call config.
- The XINSCallConfig class is no longer Thread safe.
- Removed unneeded comments.
- Moved the class fields before the constructor.
- Moved the static methods after the constructor.
* Generation of client-side Java code:
- Used the UnacceptableMessageException when an invalid result is received.
- If any of the specification files change, the CAPI.java should be
regenerated.
- Fixed possible compilation error for list or set of primitive types.
* Generation of the Java types:
- Added fromStringForRequired and fromStringForOptional for list and set
types.
* Generation of the API from the WSDL:
- If the WSDL parameter is all uppercase, the variable will be all lowercase.
- Process smart hungarian lower to parameter names.
e.g. HTTPInfo -> httpInfo.
- Added support of reference to another complex type or to an element from
an element.
- Fixed the XML Schema 's:' was not extended to 'xsd:'.
- Fixed the wsdl directory is created if it didn't exists when importing
from an URL.
- Unbounded elements are put in the data section.
- Added support for XML Schema list type.
- Improved detection of XML Schema types.
- Unbounded elements using defined xsd types or simpleTypes are considered
as a list.
- Avoid duplication in function names.
* Generated build file:
- Added new 'tests' target that runs the tests of all the APIs that have
tests.
* XSLT:
- Removed unneeded comments.
- Moved the class fields before the constructor.
- Moved the static methods after the constructor.
- The underscore should not be skipped when changing a text to the
hungarian convention.
* Tools:
- Added Jetty plug-in and name of the WAR file to the Maven pom.xml.
- Load the build.properties in the -init-tools target.
- Renamed target tools to help-tools.
- Added required and optional build properties to run the tools.
- Use builddir variable to specify the build directory in tools.xslt.
* Build- and release-process:
- Disabled ftp upload for the exe file.
* Examples:
- Removed unneeded comments.
- Moved the class fields before the constructor.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 2.0 ALPHA 5:
* Logdoc:
- The following classes have been deprecated as no longer used:
AbstractLogdocSerializable, LogdocHexConverter, LogdocSerializable,
LogdocStringBuffer, UnsupportedLocaleError, MandatoryArgumentChecker.
- The type 'serializable' is no longer supported. LogdocSerializable is
replaced by the toString() method of the object passed as argument or
by passing directly the String.
This change may break compatibility.
- The format 'hex' is no longer supported for integers. Note that it was
never used or documented.
- org.xins.logdoc.MandatoryArgumentChecker is no longer public.
- Cleaned-up logging messages.
* XINS/Java Common Library:
- Some methods in BeanUtils will throw an IllegalArgumentException instead
of a NullPointerException.
- Next version will be XINS 2.0 instead of XINS 2.0.0.
- Removed CallTargetsTask as it's no longer used.
- Added new method in ElementParser to parse XML based on an InputStream.
- Removed unused method in HTTPServiceCaller.
- Changed some methods that shouldn't be called from public to private.
- Fixed bug #1665175: Set the character encoding as UTF-8 as the server uses
this setting to also decode the URL parameters.
- Added support for the setCharacterEncoding in the internal Servlet
container.
- Added support for path and domain for cookies in the internal Servlet
container.
- Cleaned-up logging messages.
- Added new method in TextUtils to remove a character in a text.
- Added method to convert a List.Value to a java.util.List and vice-versa.
- Added method to convert a Set.Value to a java.util.Set and vice-versa.
* XINS/Java Server Framework:
- Added a new method to get the InputStream of a resource located in the WAR
file.
- Improved method used to find files located in the WAR file.
- Next version will be XINS 2.0 instead of XINS 2.0.0.
- The FrontendCallingConvention is no longer final.
- Improved implementation of the FunctionRequest class.
- The new argument skipFunctionCall is now used in the XINS FF CC and the
JSONRPCCallingConvention instead of the _NoOp meta function.
- If no name is specified for an API, an exception is thrown.
- FormatterParameters no longer implements LogdocSerializable.
- FormattedDate has been deprecated.
- Fixed bug #1665175: If no character encoding is specified, use UTF-8.
- Cleaned-up logging messages.
- Better detection of the XINS FF CC.
* XINS/Java Client Framework:
- The class DataElement has been deprecated and replaced by
org.xins.common.xml.Element.
This change may break your code compatibility, all you need to do to fix
the incompatibilities is to replace DataElement with Element and remove
any .toXMLElement().
- In the returned XML each param element should have a name attribute.
* Generation of specification documentation:
- If a result code file changes, the index.html is regenerated.
- Removed checking of the result code uniqueness as a result code cannot
have a value anymore. It was only possible before XINS 1.0.
This should improve the speed of the generation of the specdocs.
* Generated build file:
- Fixed RFE/Bug 1632118: test-API target does not depend on war-API target.
- Fixed generation of the build.xml failed with Java 5/6 because of a
multiple defined variable.
- Improved message description in case XINS_HOME is set incorrectly or
the script is not executed from the correct directory.
- Removed transform target which is not used.
- Next version will be XINS 2.0 instead of XINS 2.0.0.
- The Unix xins script now uses the make-build.xml to create the build.xml
instead of the bootstrap.xml.
- Improved layout of the help target.
- Added new 'tools' target that displays the help for the tools targets.
- Improved the search of api.xml and impl.xml to know when the build file
should be recreated. This should the execution speed for all commands.
- The create-logdoc now informs where are the files created.
- Always use the builddir variable to locate the location of the build
directory.
* Build- and release-process:
- The new version will be 2.0-alpha5 instead of 2.0.0-alpha5.
* Tools:
- Added more flexibity for the checkstyle tool.
* Examples:
- Fixed the functions of the toolbox API.
- Added deploy-tomcat target to the nbbuild.xml of the petstore.
* Documentation:
- Improved description for integration with NetBeans.
- Fixed how to use the Ant tasks.
- Documented the incompatibilities in README.html.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 2.0 ALPHA 4:
* XINS/Java Common Library:
- The FastStringBuffer class has been deprecated and been replaced by String
concatenation or the Stringbuffer class which are faster.
- The FastStringWriter class has been deprecated and been replaced by
StringWriter which is faster.
- Implemented RFE #1642379: Added support for path in internal servlet
container.
- Added a new method in BeanUtils to get the parameter values of a POJO
as String values.
- Removed unneeded unmodifiable Map objects in the enum type.
- Added a new method in TextUtils to create a Perl5 pattern.
- Improved clarity in the programming exception thrown.
- Removed duplicated code detected by PMD 3.9.
- Stack traces have been removed from the logging for the ignorable exception
as there are not needed.
- Added new class IOReader containing utilities methods to read input stream.
- Removed CollectionUtils class as this class was not used.
- Methods getChildElements() and getAttributes() returns the original
structure of the XML element.
* XINS/Java Server Framework:
- Remove use of an unneeded ThreadLocal in the CallResultOutputter.
- Changed CallResultOutputter to directly write in the Writer passed as
argument.
- Improved clarity in the programming exception thrown.
- Lazy instantiation of the calling conventions.
- CallingConvention#getAPI() will return the API object only after the
construction of the calling convention.
- Removed duplicated code detected by PMD 3.9.
- When mode=source is used in XINS FF, the redirection also forward this
parameter.
- Removed the old calling convention.
- Removed isMoreRecent method of the class Libray as it contains several
bugs and this method is unneeded.
- The calling conventions are now public and extendable.
- Added new JSONCallingConvention which implement Yahoo! style of JSON RPC
calls, included callback.
* XINS/Java Client Framework:
- Improved clarity in the programming exception thrown.
- Removed duplicated code detected by PMD 3.9.
* Generated build file:
- Do not include the impl.xml and the class files from the impl directory
into the WAR file.
- Do not include the CAPI source code in the Zip file as it is no needed.
- Moved the specs in the WAR file to the WEB-INF/specs directory.
- The old directory structure is not supported anymore.
* Generation of specification documentation:
- Moved the help section to the user guide.
- Check that the type defined in the function match the case of the type
defined the the type file.
* Generation of server-side Java code:
- The old directory structure is not supported anymore.
- The ParameterNotInitializedException is no longer thrown for optional
parameter or attributes in the request. If you have an optional parameter
or attribute in the input, an object will always be returned from the get
method. The value of this object will be null if the parameter is not
sent and there is no default.
This change may break the compatibility of your code if you had optional
input parameters or attributes returning primitive types (int, short,
boolean, ...) you will need to change your code to use .intValue(), etc...
- Fixed: the default attribute was not handled correctly in the generated
Request object.
* Generation of the opendoc:
- Fixed: the creation doesn't fail anymore if there is no error code in the
API.
* Generation of the WSDL:
- The generated file is correctly indented with tabs.
- Added support for the default attribute.
* Generation of the API from the WSDL:
- Improved description of the function and error code.
- Added support for the default attribute.
- Fixed cases for functions, types and error code in the generated api.xml.
- Added support for complexContent in WSDL.
- Fixed double maxLength in generated types.
- Added support for minimum and maximum in XML Schema decimal.
- Fixed incorrect doctype generated for files.
- Improved normalisation of the original WSDL.
* Generation of the types from the XML Schema:
- The API does not need to exist beforehand anymore.
- Simple type directly defined under the schema element are included.
- The documentation of the parent element is used if found.
* Build- and release-process:
- Fixed bug #1657846: css directory is missing from the release.
- The version.minor number is optional.
- Fixed the fileupload API didn't compile because of a corrupted JAR file.
* DTD:
- Removed 1.0 alpha DTDs.
* Other:
- Changed the type_2_0.dtd file to required a type.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 2.0 ALPHA 3:
* XINS/Java Common Library:
- Fixed SF.net bug #1636021: NPE in ServletRequestPropertyReader constructor.
- BeanUtils.getParameters() store the parameters starting with a lowercase.
- Added new methods to TextUtils to change a String to start with an
uppercase or a lowercase.
- Don't throw NPE if no query string in the internal Servlet container.
* XINS/Java Server Framework:
- Added new meta function _EnableAPI and _DisableAPI in order to disable an
API for example during the maintenance of resources used by the API.
- If mode=source is used in the XINS FF, the redirection is skipped and
the XML is returned.
- Added the possibility to indicate in the calling convention not to execute
the function returned.
- Added handling of output parameters and data section for defined error
codes.
- In the XINS FF, the session ID is stored using the subdomain host name.
- The get methods of the FunctionRequest object are now public.
* Generation of specification documentation:
- The version is printed in the footer only when known.
- Added link to xins.org in the footer.
* Generation of the WSDL:
- Fixed the shared types had a '/' in the WSDL name.
- Fixed error codes were skipped.
- Added handling of output parameters and data section for defined error
codes.
- Added documentation for the parameters, the attributes and the data
elements.
* XSLT:
- The underscore is skipped when changing a text to the hungarian convention.
- Added a new method to convert XML Schema types to predefined XINS types.
- Fixed missing project_node parameters for some methods defined in
types.xslt.
- Improved details of the error messages.
- Added shared error code.
* Generated build file:
- Put the reference to the Logdoc DTD catalog in a specific target.
* Tools:
- Added stylesheet to convert a XSD files to XINS type files.
- Added stylesheet to convert a WSDL file to a XINS API.
- Added possibility to convert a WSDL URL to a XINS API.
* Build- and release-process:
- Fixed missing image with the Javadoc.
- Added Groovy example to the release.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 2.0 ALPHA 2:
* XINS/Java Common Library:
- BeanUtils#convertObject will also convert from String to Date or Timestamp.
- Added method ElementParser#parser(String) to parse an XML String.
- Added BeanUtils#getParameters(Object) method to extract the values of a
POJO in a Map.
- Added BeanUtils#setParameters(Map, Object) method to set the values
contained in a Map into a POJO.
- SF.net RFE #1589110: Added the possibility to set a limit for the number of
characters printed for the value of an object in a PropertyReader.
- The org.xins.common.xml.Element object is now editable.
- Added ProtectedList#remove(key, element) method to remove an element from
the list.
* XINS/Java Server Framework:
- EnumItem are also displayed in the XML output of the XINS FF.
- Added new runtime property for the XSLT calling convention which allows
to pass the template location as one of the parameter to the request.
The new runtime property is templates.callingconvention.parameter and has
the default value to false.
- Simplified gatherParameters and cleanUpParameters in CallingConvention.
- Added JSONRPCCallingConvention.
- Added test of parameter mapping in the XINSFF CC.
- Added test of enumeration parameter in the XINSFF CC.
- Added _WSDL meta function.
- Added new method in Engine to get the URL location of a file included in
the WAR file.
* XINS/Java Client Framework:
- Limited the length of the log message when a parameter has a too long value.
* Generation of specification documentation:
- Added the automatic filling of the test form with the examples.
* Generated tests:
- Fixed bug #1630767: Changed comment in the generated APITest file.
* Generated build file:
- Fixed missing reference to the 1.5 DTD files for the generated logdoc
build.xml file.
- Added download-tools target.
- Fixed copy a shared type starting with lowercase was failing because the
mapper was ignored when file is used in the copy Ant task.
- Fixed the build directory is "${project_home}/build" instead of "build" so
that you can run xins from another directory.
* Tools:
- Fixed bug #1631365: Checkstyle-generated HTML does not show file names.
* Build- and release-process:
- Included the missing fileupload/lib directory in the release.
- The checkstyle target was failing because of missing libraries in the
documentation and missing files in the release.
* Documentation:
- Moved primers and presentations to sub directories.
- Removed unused files on web site.
- Added new article about writing the Web Service using a script language.
- Fixed links on web site.
- Corrected links on web site to avoid redirection.
- Improved documentation on how to use antlib.xml in the antlib.xml file.
* Other:
- Changed copyright statement to 2007.
- Added fully compliant REST demo.
- Added DTD files for the 2.0 version.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 2.0 ALPHA 1:
* Logdoc:
- Removed LogdocExceptionUtils class in favour of the ExceptionUtils class.
This class was already marked as deprecated since XINS 1.2.0.
* XINS/Java Common Library:
- Fixed SF.net bug #1600564: Added missing methods to List and Set used for
standard types.
- Removed Doorman class. This class was marked as deprecated since
XINS 1.0.1.
- Removed org.xins.common.ExceptionUtils class. This class was marked as
deprecated since XINS 1.2.0, in favour of the class with the same name in
the org.xins.logdoc package.
- Removed the WhislEncoding class. It was deprecated since XINS 1.4.0.
- Removed the NonASCIIException class. It was deprecated since XINS 1.4.0.
- Removed the ExpiryFolder constructor that was marked as deprecated since
XINS 1.0.1.
- Revisited the constructors in class HTTPCallRequest that were marked as
deprecated. Unmarked them as deprecated. These have the following
arguments:
. (HTTPMethod)
. (HTTPMethod,PropertyReader)
. (HTTPMethod,PropertyReader,boolean,HTTPStatusCodeVerifier)
- Removed the method getMethod() from class HTTPCallRequest. Instead,
getConfig().getMethod() should be used.
* XINS/Java Client Framework:
- Removed the following methods from class DataElement; these are all
deprecated since XINS 1.1.0:
. get(String)
. getAttributes()
. getName()
- Unmarked the following constructors in class XINSCallRequest as
deprecated; both were deprecated since XINS 1.1.0:
. XINSCallRequest(String,PropertyReader,boolean)
. XINSCallRequest(String,PropertyReader,boolean,HTTPMethod)
- Removed the method isFailOverAllowed() from class XINSCallRequest. This
method was deprecated since XINS 1.1.0.
* XINS/Java Server Framework:
- Fixed SF.net bug #1604364: Numbers and booleans should also be shown in the
session XML.
- The default command in xins ff could also be unrestricted.
- The request and result method in the session manager of the xins ff can
be extended.
- The shouldLogIn() method shouldn't check the HttpSession in the xins ff.
- The _session of the SessionManager might be null if the xins ff is not
used.
- Removed the org.xins.server.Element class in favour of the
org.xins.common.xml.Element class. This class was marked deprecated since
XINS 1.1.0.
- Removed LOG_LOCALE_PROPERTY from class APIServlet, in favour of the field
with the same name in class org.xins.logdoc.LogCentral. This field was
marked as deprecated already.
- Removed the initImpl(ServletConfig) method from class APIServlet. It was
deprecated since XINS 1.3.0.
- Removed the parseAccessRuleList(String) method from class AccessRuleList,
in favour of the alternative that accepts an interval (of type 'int') as
well. This method was deprecated since XINS 1.3.0.
- Removed method allow(String,String) from class AccessRuleList, in favour
of the method isAllowed with the same signature. The removed method was
marked as deprecated since XINS 1.3.0.
- Added new runtime property org.xins.server.jmx. This property is
optional and the default value is false.
- Return HTTP OK with XML MIME type when mode=template is used for the
XINS FF.
- The Control command will also return the HTML if an action is executed.
* Generation of client-side Java code:
- Removed the following generated methods, which were marked as deprecated
since XINS 1.2.0:
. create(PropertyReader,String,XINSCallConfig)
. create(PropertyReader,String)
- Removed explicit usage of java.lang in generated code.
* Generation of server-side Java code:
- Check that the error code parameter is coming from an UnsuccessfulResult.
- Removed explicit usage of java.lang in generated code.
* Generation of specification documentation:
- Moved the javascript of the test forms in a Javascript file.
- Implement RFE #1578187: Remember the selected environment on test forms.
Done by Mees.
* Generated build file:
- Remove the classes generated by the tests when calling clean-.
- Starting the Servlet container for the test coverage is now optional.
- Build failed if the API contained only shared types.
- Added comment in generated impl.xml to know the order of the sub-elements.
- All JARs added to the test directory are added to the classpath for
compiling and running the tests.
- The API dependencies are added to the classpath for compiling the tests.
- Do not check the dependency type in impl.xml as a dependency cannot have a
type.
- Ask confirmation before generating the stub files.
* Lodoc:
- Ignorable exceptions shouldn't be logged at ERROR level.
* Build- and release-process:
- Leave the rabbit as is.
* Tools:
- Fixed SF.net bug #1601190: Added Jaxen as needed libraries for PMD.
- Fixed SF.net bug #1604553: Missing config.xml file for the checkstyle task.
- Partially fixed SF.net bug #1598355: Maven pom.xml is wrongly generated.
- Added Maven2 POM for XINS 1.5.0.
- Cleaned up commented rules in the config.xml.
- Set the TODO comment on warning level.
- Do not cover the generated Request and Result object in code coverage.
- Generated pom.xml refers to the JAR files available in the Maven 2
repository.
* Demo:
- Fixed incorrect replace in the copy-nb-files target for NetBeans.
* Other:
- Changed all @orange-ft.com addresses to @orange-ftgroup.com.
- Changed the e-mail address of Ernst to ernst@ernstdehaan.com.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.5.0 RC 1:
* XINS/Java Common Library:
- Increased some FastStringWriter capacity for performance.
* XINS/Java Server Framework:
- Increased some FastStringWriter capacity for performance.
* Tools:
- Added a working set to Eclipse Ant builder in order to recompile the
project if the specifications change.
* Generated build file:
- Added the list of tools to the help target.
* Documentation:
- Rebranded Wanadoo Nederland B.V. to Orange Nederland Breedband B.V.
* Examples:
- Rebranded Wanadoo Nederland B.V. to Orange Nederland Breedband B.V.
- The task should only be executed with NetBeans.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.5.0 BETA 4:
* XINS/Java Common Library:
- Added convertion in BeanUtils of Object to primitive types and also of
String or EnumItem to EnumItem.
- Fixed Javadoc links.
- Removed unused imports and variables with help of PMD.
- Cleaned up code using checkstyle.
- Added @since XINS 1.5.0. to new methods and classes.
- Fixed small issues discovered by FindBugs.
- Improved serialization of the request and result as reported by Lint4j.
- Added close method to the InputStream of the internal servlet container.
- Added check that the InputStream in the internal servlet container reads
the input.
- Removed post condition check which was using too much CPU time.
- Replaced exception.printStackTrace() with correct logging.
- Slightly improved the HTTPServletHandler, correctly handling exceptions
from the httpQuery method, and logging ignored exceptions caused by the
closing of streams.
* XINS/Java Server Framework:
- Fixed XML declaration in the conditional redirection in the xins ff.
- Param-combo should be handled differently for the xins ff.
- Added more tests for the xins ff.
- Removed EngineState.getType() (a private, unused method).
- Setting, getting and removing session properties in the xins ff ckeck
that the property name is not null.
- Fixed Javadoc links.
- Removed unused imports and variables with help of PMD.
- Cleaned up code using checkstyle.
- Avoid NPE when no function is specified in the xins ff.
- Added @since XINS 1.5.0. to new methods and classes.
- Fixed small issues discovered by FindBugs.
- Improved start-up performance by lazy instantiating the Control template
in xins ff.
- Check for not null command in xins ff.
- Added _userAgent in the session.
- Replaced exception.printStackTrace() with correct logging.
* XINS/Java Client Framework:
- Fixed Javadoc links.
- Cleaned up code using checkstyle.
- Fixed small issues discovered by FindBugs.
- Added log 2117 in case of problems using the file protocol.
* Generation of server-side Java code:
- Added tests for the default attribute.
- Added tests for the param-combo based on values.
- Changed the accessor of the get and isSet methods of the generated Request
objects to public.
* Generation of client-side Java code:
- Added tests for the default attribute.
- Added tests for the param-combo based on values.
* Generation of specdocs:
- Fixed SF.net #1409765: No function status on category page.
* Generated build file:
- The xins-eclipse.user-libraries to use for Eclipse will be in
xins\tools\eclipse.
- The property used to define the PMD rules is now pmd.rules and has
rulesets/basic.xml,rulesets/unusedcode.xml as default value.
- PMD tool target makes use of the build.java.version property.
- Fixed incorrect source directory for the cvschangelog target.
- Fixed generation of the JMeter file in the incorrect directory.
- Findbugs target now generates an HTML report.
- The script fails nicely if jmeter.home or findbugs.home is not specified.
- Added Lint4J to the tools targets.
* Build- and release-process:
- Removed the NOTES file as the NOTES file is now online.
- Renamed checkstyle config.xml to config-xins.xml as the config.xml is
used to check APIs.
- Recompile before profiling.
- Target executed during the release should depend on -init-release.
* NetBeans:
- Added specdocs to the context menu of the project.
- The profile target should be started from the Profile -> Profile Main
Project menu item.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.5.0 BETA 3:
* XINS/Java Common Library:
- Fixed SF.net bug #1560676: Creating a CAPI throws NullPointerException.
- Refactored servlet container. Fixed a couple of small issues, such as
support for non-standard HTTP methods.
- Improved possible convertion cases for the BeanUtils class.
- String representation of a PropertyReader should contain the empty values.
- Changed Boolean.valueOf(boolean) as not compatible with Java 1.3.
* XINS/Java Client Framework:
- Fixed SF.net bug #1252449. HTTP calls performed by the HTTPServiceCaller
are never retried anymore.
- Fixed a small Java 1.3 compatibility issue in class XINSServiceCaller.
* XINS/Java Server Framework:
- Fixed SF.net bug #1531618. HTTP HEAD requests for the standard calling
conventions now return a proper Content-Length header.
- Fixed SF.net bug #1252449. HTTP calls performed by the _CheckLinks
function are never retried anymore.
- Fixed a small issue, the HTTP method was converted to upper case, although
the W3C explicitly says the HTTP method is case-sensitive.
- Refactored the way HTTP OPTIONS is handled.
- Refactored the supported HTTP methods for calling conventions.
- Made some code in the front-end framework compatible with Java 1.3.
- Fixed possible NPE in the xins ff cc.
* Generation of server-side Java code:
- Fixed support for special characters in the default attribute.
- Fixed support for default attribute in a data section attribute.
* Generation of client-side Java code:
- Fixed support for special characters in the default attribute.
- Default should be used when calling using the several argument call method.
- Output parameters with default will always return a value.
* Generation of the opendoc:
- Fixed the names of the elements of the data section were not displayed
correctly.
- Improved the format of the default value for a parameter or attribute.
- Fixed the document is re-created if the specifications have changed.
- Added the param-combo and attribute-combo in the generated document.
* Generation of the stub:
- Fixed optional parameters should call the generated isSet method before
calling the get method.
* Generated build file:
- Fixed the generated resultcodes.xml file was not read when the
implementation has a specific name.
* Generation of the specdocs:
- Fixed SF.net bug #1409772. Category pages now link back to the API page.
* Build- and release-process:
- Added support for 'junit.showoutput' property. When set to 'true', it also
sends output to the console.
- Split 'copy-docs-demo' target into 'copy-docs' and 'copy-demo' targets,
in build-dev.xml.
- Advising docbook-xsl 1.70.1 instead of 1.65.1, if DOCBOOK_XSLT_HOME is not
set.
- Added support for 'nodocs' parameter. If set, then no Javadoc is
generated, nor any documentation in xins-docs.
- Added support for 'nomanuals' parameter, then the documentation in
xins-docs is not generated.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.5.0 BETA 2:
* XINS/Java Common Library:
- Fixed SF.net bug #1558478: Internal servlet container assumes path is
query string.
- Fixed various problems in the antlib.xml file.
* XINS/Java Server Framework:
- Input parameters are stored in the session only when the function
is successful and that the input parameter is defined in the function.
- Control command of the XINS FF returns HTML instead of XML.
- Special commands of the XINS FF should just return OK.
- Fixed bug for the ReadConfigFile action in the XINS FF.
- In the XINS FF, the session should be always notified of the result.
- Ignore the XSLT not found in the refresh command of the XINS FF.
- Simplified Log4J MBeans registration.
- JMX MBean for the API contains the name of the API in the ObjectName.
- Session parameters set during the call of the function shouldn't
be overwritten by the input parameters in the XINS FF CC.
* Generation of server-side Java code:
- isSet method is not generated if the parameter has a default value.
- Fixed conditions for the param-combo based on a parameter value.
- Fixed generated equals method for the request when a parameter has a
default value.
* Generation of the specdocs:
- Improved layout of the generation of the runtime properties page.
* Generated logdoc:
- Changed generated Ant build files to use instead of the synonym
, since the latter is considered deprecated as of Ant 1.7.0.
* Generated build file:
- Fixed SF.net bug #1531619: 'ant -lib lib tests' fails with Apache
Ant 1.7-beta1.
- Changed generated Ant build files to use instead of the synonym
, since the latter is considered deprecated as of Ant 1.7.0.
- Improved error message if the xins-project.xml file is not found.
- Full path is used to point to the build directory.
* Build- and release-process:
- Added antlib.xml to the xins-common.jar.
- Added test to the xins target.
- Stored classpath used for the tests in a reference.
- Renamed netbeans-debug target to test-netbeans-debug and adapted it to
execute tests in NetBeans.
- Removed code coverage of the logs, so that the coverage target reflects
more the real code coverage.
* Tests:
- Added new Portal API to test the XINS Frontend Framework.
- Added tests for the param-combo based on a parameter value.
- Added tests for the BeanUtils class.
- Added tests for the default value feature.
- Added tests for _set and _list types.
* DTD:
- The types properties, list and set can contain a shared type from another
API.
* Tools:
- Fixed SF.net bug #1492820: Installation on Windows will be done by default
in Program Files\xins.
* Libraries:
- Upgraded Log4J from 1.2.13 to 1.2.14.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.5.0 BETA 1:
* XINS/Java Common Library:
- Improved the BeanUtils class by converting the argument object if needed.
- Implemented SF.net RFE #1554100: Added the _set and _list types.
* XINS/Java Server Framework:
- Fixed incorrect indirection in the XINS Front-end Framework.
- The command can be null in the XINS Front-end Framework.
- Logging message 1052 (unexpected exception) in the APIServlet class, if
the Engine constructor throws an exception.
- Fixed SF.net bug #1552141: Log message 3003 should not be FATAL. Changed
it to ERROR.
- Fixed if the JMX library is not in the classpath, the creation of the
EngineStarter may fail with a NoClassDefFoundError.
- Fixed NPE in case of invalid request in the XINS Front-end Framework.
- If a data element is stored in the XINS FF session, just add the
sub-elements.
* Generated code:
- Added support for a default value for optional parameters.
- Implemented SF.net RFE #1554100: Added the _set and _list types.
* Generated build file:
- Fixed incorrect setting of the name of the API in the build file used for
the eclipse target.
- Fixed incorrect packaging for shared types.
- Renamed jmeter target to run-jmeter.
- Implemented SF.net RFE #1554566: Added new jmeter target that generates
the Apache JMeter file from the examples.
- Made the test target compabible with the requirements needed for
executing the tests in the NetBeans IDE.
* Build- and release-process:
- Added new test-netbeans target to execute the tests in the NetBeans IDE.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.5.0 ALPHA 5:
* XINS/Java Common Library:
- Improved the internal servlet container so that it forwards a request for
"*" to the default servlet. This is in accordance with the HTTP 1.1 spec,
allowing an OPTIONS request for "*", which represents the whole server.
- Fixed The HTTP headers read from the request should be case insensitive.
- Implemented SF.net RFE #1523749: Added possibility to share types
between APIs.
- Deprecated the FastStringBuffer class as simple String concatenation and
java.lang.StringBuffer is faster.
- Implemented SF.net RFE #1549196. Added a generic DEBUG-level Logdoc log
entry (1053) for XINS users.
- Added a BeanUtils class that helps you filling the Request or Result
object using the values of a POJO and vice versa.
* XINS/Java Server Framework:
- Completed implementation of SF.net RFE #1483099: Support HTTP methods PUT,
DELETE, etc. Support for the OPTIONS method has been implemented and the
CallingConvention and Engine classes have been refactored. Unit tests have
been added.
- Replaced log message 3522 by the more generic and more elaborative 3523.
- Renamed xiff to xinsff in the XINS Front-end Framework properties.
- Fixed possible NullPointerException in the XINS FF CC.
- The session id stored in the session cannot be changed by input parameters.
- Fixed call to the function skipped when a redirection property was set in
the XINS FF CC.
* Logdoc:
- Deprecated the LogdocStringBuffer class as simple String concatenation is
faster.
* Generated types:
- Implemented SF.net RFE #1523749: Added possibility to share types
between APIs.
* Generated build file:
- Added new maven target to create a pom.xml file for the API.
- Added new eclipse target that creates the Eclipse projects file for the
API.
* Build- and release-process:
- Added the XINS Front-end Framework manual to the release.
- Added XSLT files needed for the eclipse and maven targets.
* Other:
- Renamed Wanadoo Nederland B.V. to the new name of the company
Orange Nederland Breedband B.V.
- Changed the way e-mail addresses are specified in the source code.
- Changed all Ant build files to use instead of the synonym
, since the latter is considered deprecated as of Ant 1.7.0.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.5.0 ALPHA 4:
* XINS/Java Server Framework:
- Implemented SF.net RFE #1528020: Return HTTP status code 400 if parameter
has multiple values. This applies to the _xins-std, _xins-old and
_xins-xslt calling conventions. Added unit tests.
- Implemented SF.net RFE #1528603: Add getAPI() method to class
CallingConvention.
- Partialy implemented SF.net RFE #1483099: Support HTTP methods PUT,
DELETE, etc. What needs to be done is re-implement OPTIONS support and add
unit tests.
- Improved the Javadoc comments for various classes.
- Added package.html to the org.xins.server.frontend package.
- Fixed SF.net bug # 1525182: Double param-combo tag upon exclusive-or
violation.
- Changed the condition for testing if a session property is true in the
front-end CC.
- The access to the API.getFunctionList() method has been changed to public.
- Move some block of the FrontendCallingConvention#convertResultImpl to
private methods.
- Added possibility to have redirection based on some condition in the
XINS front-end calling convention.
- Removed the session property if the input parameter is empty.
- Added correct logging for the front-end calling convention.
* XINS/Java Common Library:
- Implemented SF.net RFE #1529046: Add getPort() to HTTPServletHandler.
- Implemented SF.net RFE #1529610: Add isBootstrapped() to Manageable.
- Improved the Javadoc comments for various classes.
* Generation of client-side Java code:
- Added set methods using the Java object class for primitive types.
- The Request object overrides the hashCode and the equals method so that
two identical methods are equals.
- Added possibility to specify that a pamater should be checked for a
specific value in a param-combo instead of if the value is set or not.
* Generation of server-side Java code:
- Added possibility to specify that a pamater should be checked for a
specific value in a param-combo instead of if the value is set or not.
* Generation of Java code for types:
- Added fromStringForRequired and fromStringForOptional methods for generated
enum types.
* Generation of the specdocs:
- Added possibility to specify that a pamater should be checked for a
specific value in a param-combo instead of if the value is set or not.
* Generation of the opendoc:
- Added the page number in the footnote of the document.
- Added the data section to the description of the function.
* Generation of the WSDL file:
- Fixed an error in the generated WSDL when the function did not have an
input or output section.
* Generated build file:
- Fixed SF.net bug #1525452: Strange XSLT warning when JAVA_HOME/bin is not
in PATH. Added new build properties "build.reload.stylesheet".
* Unit tests:
- Implemented SF.net RFE #1529239: Configure port for unit tests. Change the
value of the DEFAULT_PORT field in the AllTests class to change the port
the server starts on.
* Build- and release-process:
- If the no-upload option is set, the changes file and the package will not
be uploaded either.
* Other:
- Changed the COPYRIGHT file with the new name of Wanadoo Nederland B.V.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.5.0 ALPHA 3:
* XINS/Java Common Library:
- Added a new method in DateConverter to convert a long in a human readable
String.
- Improved the xins ant task by making the api attribute optional and by
looking the build.xml in the correct directory.
- Fixed SF.net bug #1518818: Parameters with empty values not returned with
getParameterNames() method of the XINSServletRequest.
- Fixed SF.net bug #1518381: Error in getParameterValues (internal servlet
container).
- Added new tests for the XINSServletRequest.
- Moved the FileServiceCaller to the org.xins.client package.
* XINS/Java Server Framework:
- Improved the detection of relative files in the XSLT used by the
FrontendCallingConvention.
- Improved the detection of relative files in the XSLT used by the
XSLTCallingConvention.
- Added more information for the Control command of the front-end framework.
- Created the XSLT to render the Control command of the front-end framework.
- the getBootstrapProperties() method in the API class is now public.
- Added Log4J MBeans to be able to maneage Log4J using JMX.
- The bootstrap and the runtime properties are accessible using JMX.
- Added the statistics to the JMX MBean.
* XINS/Java Client Framework:
- Moved the FileServiceCaller to the org.xins.client package.
* Tests:
- Re-enabled and extended a unit test for the OPTIONS method.
* DTD:
- Added the 1.5 DTD files.
* Generated build file:
- Added the possibility to set the Java version of the compiled code using
a new build.java.version build property.
- Added generated classes uses Java generics where possible if the version
of Java is equal or higher than 1.5.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.5.0 ALPHA 2:
* XINS/Java Common Library:
- Fixed SF.net bug #1483127: HTTP OPTIONS method causes hang.
- Added _hex type. Thanks Georgios.
- Added the FileServiceCaller that can call an API without using the
network.
- Changed method ServiceCaller#doCallImpl(CallRequest, CallConfig,
TargetDescriptor) from protected to public.
- Changed the regular expression used to check a URL as it does not
necessary contains an IP address.
- Made the constructor of the StatusCodeHTTPCallException public.
* XINS/Java Server Framework:
- Made the CallResultOutputter class public in order to offer the possibility
for custom CC to use it.
- Added the XINS front-end framework as core of the XINS plateforme.
- Improved JMX support.
* XINS/Java Client Framework:
- Made the AbstractCAPICallRequest and the AbstractCAPICallResult
serializable in order to better fit the Java Beans specifications.
- The XINSServiceCaller redirect the call to the HTTPServiceCaller or the
FileServiceCaller depending on the TargetDescriptor.
* Generation of server-side Java code:
- Fixed possible variable conflict if an element has the same attribute as
a sub element.
- Generated data elements are now public for the SuccessfulResult.
- Made the generated Request and Result classes serializable in order to
better fit the Java Beans specifications.
* Generation of client-side Java code:
- Fixed SF.net bug #1511004: Code generation error with nested elements
starting with an uppercase in data sections.
* Generation of Java code for types:
- Fixed possible incorrect Javadoc for List and Set items.
* Generated build file:
- Fixed SF.net bug #1437390: Log.java generated in the incorrect directory.
- Added the possibility to have a .version.properties defined only for an
API.
* Tests:
- Moved the Multipart calling convention to the fileupload demo.
* Build- and release-process:
- Added fileupload demo.
* Shell script / batch file:
- Adapted the xins.bat in case XINS is installed in a directory with spaces.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.5.0 ALPHA 1:
NOTE: This release is based on XINS 1.4.0-rc1.
* XINS/Java Common Library:
- Fixed SF.net bug #1470848. The built-in servlet container now supports
getInputStream() on the ServletRequest implementation.
This only affects the XINSServletRequest class.
- Fixed SF.net bug #1470545. The built-in servlet container now properly
implements getContentLength(). The problem was in the getIntHeader()
method.
This only affects the XINSServletRequest class.
- Improved the built-in servlet container. Added support for request
methods other than GET and POST.
- Added a new facility method to log ignored exception.
- Fixed SF.net bug #1470309: API fails with no logs when no runtime
properties file is specified.
- Added a new ANT task named callxins to call a XINS API.
- Added a new ANT task named xins to call a XINS target.
* XINS/Java Server Framework:
- Fixed SF.net bug #1470991. Fixed an incorrect exception message in the
implementation standard calling convention.
This only affects the StandardCallingConvention class.
- Added a unit test for testing the OPTIONS method.
- Added JMX support with a simple MBean.
* XINS/Java Client Framework:
- Fixed SF.net bug #1476707: Functional errors logged as ERROR.
* Logdoc:
- Fixed some French translations in client, common and server.
* Generation of specdocs:
- Fixed SF.net bug #1478969. There was an XSLT bug in function_to_html.xslt
which was not detected by Java versions before 1.6.0, but it was detected
by 1.6.0 EA build 82.
* Generation of server-side Java code:
- Fixed incorrect name of the class for the _url type.
* Tests:
- Added an example CustomCallingConvention implementation:
MultipartCallingConvention. This implementation supports multipart
(RFC 1876) form submissions. As part of this example, two libraries have
been added under src/tests/lib: Commons IO and Commons Fileupload.
Files affected:
. src/tests/apis/allinone/impl/impl.xml
. src/tests/lib/commons-io.jar
. src/tests/lib/commons-fileupload.jar
. src/tests/impl/com/mycompany/allinone/cc/MultipartCallingConvention.java
. src/tests/impl/com/mycompany/allinone/cc/CallResultOutputter.java
* Generated build file:
- Added new tools targets.
* Build- and release-process:
- Fixed missing xins.properties in the demo directory.
- Changed the location of the CVS server.
* Shell script / batch file:
- Fixed SF.net bug #1476892. Now the XINS_HOME property set by the installer
will not contain quotes. The xins.bat script has been adapted accordingly.
* Libraries:
- Upgraded asm.jar to version 2.2.1.
- Upgraded cobertura.jar to version 1.8.
- Upgraded http-client.jar to version 3.0.1.
- Added jmxri.jar version 1.2.1.
* Demos:
- Fixed the copy-nb-files target to copy the NetBeans project files for an
existing project.
- Fixed the location of the cvsweb URL to the new SouceForge location.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.4.2 FINAL:
* XINS/Java Common Library:
- Fixed SF.net bug #1518818: Parameters with empty values not returned with
getParameterNames() method of the XINSServletRequest.
- Fixed SF.net bug #1518381: Error in getParameterValues (internal servlet
container).
* Generation of server-side Java code:
- Fixed possible variable conflict if an element has the same attribute as
a sub element.
- Generated data elements are now public for the SuccessfulResult.
* Generation of client-side Java code:
- Fixed SF.net bug #1511004: Code generation error with nested elements
starting with an uppercase in data sections.
* Generated build file:
- Fixed SF.net bug #1437390: Log.java generated in the incorrect directory.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.4.1 FINAL:
* XINS/Java Common Library:
- Fixed SF.net bug #1470309: API fails with no logs when no runtime
properties file is specified.
* XINS/Java Client Framework:
- Fixed SF.net bug #1476707: Functional errors logged as ERROR.
* Generation of specdocs:
- Fixed SF.net bug #1478969. There was an XSLT bug in function_to_html.xslt
which was not detected by Java versions before 1.6.0, but it was detected
by 1.6.0 EA build 82.
* Build- and release-process:
- Changed the location of the CVS server.
* Demos:
- Fixed the copy-nb-files target to copy the NetBeans project files for
an existing API.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.4.0 FINAL:
* XINS/Java Common Library:
- Fixed SF.net bug #1470545. The built-in servlet container now properly
implements getContentLength(). The problem was in the getIntHeader()
method.
- Fixed SF.net bug #1470848. The built-in servlet container now supports
getInputStream() on the ServletRequest implementation.
* XINS/Java Server Framework:
- Fixed SF.net bug #1470991. Fixed an incorrect exception message in the
implementation standard calling convention.
* Logdoc:
- Fixed some French translations in client, common and server.
* Generation of server-side Java code:
- Fixed incorrect name of the class for the _url type.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.4.0 RC 2:
* Build- and release-process:
- Fixed missing xins.properties in the demo directory.
- Changed the order that the files were added to the TAR file in order to
avoid a double 'apis' directory.
- Removed the NetBeans private directory.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.4.0 RC 1:
* XINS/Java Server Framework:
- Fixed: a warning was logged when the API specific ACL property was not
set.
* Notes
- Added the list of the platform on which it has been tested.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.4.0 BETA 3:
* XINS/Java Common Library:
- Fixed small issues pointed out by the code analizer JLint.
- Fixed style issues reported by checkstyle.
- Set the getMessage() method of CallException non final to keep the binary
compatibility with XINS 1.3.0.
- Marked new methods with @since 1.4.0.
- As web pages are sent with the ISO-8859-1, they should be read with this
same encoding format.
- URL decoder also accepts special characters that have not been URL
encoded.
- Added test for the ElementBuilder class.
- Added test for the HTTPCallConfig class.
- Added test for the TextUtils#replace method.
- Fixed SF bug #1463644: "Prefix string too short" when deploying jar-files.
- The getRealPath method of the XINSServletContext returns null instead of
throwing an exception.
- URLEncoding#decode also accepts characters that should have been encoded.
* XINS/Java Client Framework:
- Fixed style issues reported by checkstyle.
- Marked new public methods since XINS 1.3.0 with @since 1.4.0.
- Added tests for the org.xins.client.async package.
- Added test for the XINSCallConfig class.
- Added a functionName() method to the AbstractCAPICallRequest that returns
the name of the function.
- The name of the function has been removed as parameter of the
AsynchronousCall class.
- The name of the function has been removed as parameter of the
CallCAPIThread class.
- Fixed: the CallCAPIThread class was not using the correct request class.
* XINS/Java Server Framework:
- Fixed incompatibility with Java 1.3 when creating the
InvalidRequestException.
- Changed the way to find the location of the specifications in the WAR file
in order to work also with Tomcat.
- Improved the way the CallingConventionManager iterates over CC.
* Generation of client-side Java code:
- Call a set method with a null parameter would throw a NullPointerException
if the type was an enumeration type.
* Generation of the stub code:
- Fixed SF.net bug #1465567: javac uses default encoding instead of UTF-8.
* Generated build file:
- Fixed incorrect dependset generated if the API does not contain any types.
- Fixed SF.net bug #1463561: Tests generated and run in incorrect directory.
- Removed the owner attribute from the create-api target as it may be
invalid.
* Demo:
- Improved XSLT layout done by Jan-Willem.
- Adapted the allinone example with some of the new XINS 1.4 features.
* Build- and release-process:
- Fixed a replace task which was not pointing to the correct file.
- The private Javadoc is no longer uploaded to sf.net.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.4.0 BETA 2:
* XINS/Java Common Library:
- Removed the header comment of empty sections in Java code.
- Fixed incorrect logged method in case of an error in the
MandatoryArgumentChecker.
- Removed unused imports and variables.
- Changed the URLEncoding to code and decode URL as specified at
http://www.w3.org/International/O-URL-code.html
- Replaced URLEncoder and URLDecoder with URLEncoding for performance
reasons.
- Improved the performance of IPAddressUtils.ipToInt().
* XINS/Java Client Framework:
- Removed the header comment of empty sections in Java code.
- Avoid NullPointerException is the namespaceURI in the result parser
is null.
- Replaced URLEncoder and URLDecoder with URLEncoding for performance
reasons.
* XINS/Java Server Framework:
- Removed the header comment of empty sections in Java code.
- Removed unused imports and variables.
- The log 3550 is logged at DEBUG level instead of at INFO level. This
increases the performance of the server.
- Replaced URLEncoder and URLDecoder with URLEncoding for performance
reasons.
* Unit Tests:
- The test for the custom calling convention has been enabled again now
that APIs support multiple calling convention.
- Added new test for the generated CAPI request.
- Added proper constructor and suite() method to the tests for the spec
package and FastStringBufferTest.
- Removed the header comment of empty sections in Java code.
* Generation of client-side Java code:
- Declared XSLT global variables also inside the template to prevent the
XSLT transformation to fail with Java 1.4.1.
* Generation of server-side Java code:
- Fixed incorrect Javadoc for generated SuccessfulResult class.
* Generation of specification documentation:
- Declared XSLT global variables also inside the template to prevent the
XSLT transformation to fail with Java 1.4.1.
* Generated tests:
- Fixed incorrect characters in the generated APITests file.
* Generated build file:
- Dependencies are also added in the classpath when running the test target.
- Added description of the test target in the help.
- Avoid loading the api.xml twice when making the build.xml.
- Removed unused variable.
* XSLT:
- Removed special vi comments.
- Removed the header comment of empty sections in Java code.
* DTD:
- Added possibility to have multiple implementation and test element in the
xins-project.xml file using the 1.0 alpha DTD.
* Build- and release-process:
- Removed XSLT doc from the release.
- The installer should execute the demo in the demo directory.
- Added profile target.
- Added NetBeans file of the petstore project.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.4.0 BETA 1:
* XINS/Java Common Library:
- Fixed bug #1435274: TargetDescriptor.equals(Object) only looked at the
hash code, not at the internal properties.
- Fixed bug #1435268: ElementSerializer remembers namespaces when reused.
- Fixed bug #1435925: ExpiryFolder.copy(ExpiryFolder) may cause deadlock.
- Fixed bug #1435924: ExpiryFolder.equals(Object) not implemented.
- Fixed bug #1436003: ExpiryStrategy.equals(Object) not implemented.
- Fixed bug #439593: Minor bug in FunctionSpec class.
- Implemented RFE #1236553 in class CallException. Also improved the class
description for this class.
- Added unit test for CallException linking and for RFE #1236553, in
HTTPServiceCallerTests.
- Added unit test for ElementSerializer and for bug #1435268.
- Improved Javadoc comments for LogdocSerializable, method serialize.
- Added support for sessions in the servlet container.
- Slightly improved the TargetDescriptor class. Improved the Javadoc
comments. Now using the CRC-32 of the URL as the hash code.
Consequently the field _hashCode could be removed.
- Slightly improved the efficiency of the ElementSerializer and ExpiryFolder
classes by applying the following changes:
. using the Map.entrySet() instead of the Map.keySet()
. referring directly to HashMap instead of Map for internal objects
- Added 2 new unit tests for class ExpiryFolder. One tests the copy
operation and one tests the equal(Object) function.
- Added a new unit test for class ExpiryStrategy that tests the
equal(Object) function.
- Added replace() method in TextUtils.
- Improved logging related to the ExpiryFolder and ExpiryStrategy
classes.
- Fixed a minor issue in XINSServletResponse: Now storing the content type
in setContentType(String).
- Added a unit test for ProtectedList cloning.
- Properly closing sockets and in- and output streams in the
HTTPServletHandler. This may avoid some resource drain issues.
* XINS/Java Client Framework:
- Fixed incorrect Javadoc of the org.xins.client.async package.
- Implemented RFE #1236554, in class XINSServiceCaller. Changed log message
2113 to accept a reason (of type 'serializable').
- Removed log message 2116 (introduced after XINS 1.3.0) because a
functional error code will never trigger fail-over. So 2116 was
superfluous, log message 2115 is enough.
- Slightly improved the description and translations for log message 2115.
- Marked inner class Handler, in class XINSCallResultParser, as static.
- Marked inner class CallNotifyThread, in class AsynchronousCall, as static.
- Slightly improved the efficiency of the DataElement class by using
Map.entrySet() instead of the Map.keySet(), where applicable.
* XINS/Java Server Framework:
- Implemented RFE #1346752: Have log messages 3200 and 3227 in the log.
These messages are now logged after the runtime configuration file is read
and the log settings have been applied.
- Slightly improved the efficiency of the XMLRPCCallingConvention and
SOAPCallingConvention classes by using Map.entrySet() instead of the
Map.keySet(), where applicable.
- Fixed a minor issue regarding log message 3239. Marked the classname
parameter as nullable, since checking the code reveals it can be null.
* Test forms:
- Implemented RFE #1408170: Display enum names on test form. Tested this
manually.
- Fixed the textarea used for the input data section was not handled
correctly.
- Fixed incorrect namespace declaration in an element.
* Generation of client-side Java code:
- Fixed SF.net bug#1435066: Getting an attribute value may throw an
exception.
* Generation of the OpenDocument format:
- Improved indentation of the result.
- Improved fonts.
- Added meta.xml containing the meta information of the document.
* Generation of the specdocs:
- Changed the Help page to be more informal. Not describing all individual
rules anymore.
* Generated build file:
- Added a create-example target that creates the specification of an
example.
* Build- and release-process:
- Added the impl.xml file used for the stub of the allinone API.
- Added opendoc directory in the distribution.
- Remove the generated resultcodes.xml if a function specification has
changed.
- Added the petstore blueprint to the release.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.4.0 ALPHA 3:
* XINS/Java Common Library:
- Improved the Servlet container to handle HTTP headers. This is needed to
support cookies.
- Handle redirection in the Servlet container.
- Unicode encoding and decoding of parameters is done according to RFC 2718.
- Added WarnDoubleProperties which logs a warning message in the log system
if a property value is overwritten.
- Implemented SF.net RFE #1088277 and #1088278: Keep HTTP connections open.
- Updated the ErrorCodeSpec to return the type of the error code
(functional or technical).
- Added AttributeCompoSpec in the org.xins.common.spec package.
* XINS/Java Server Framework:
- Added the possibility to set ACL's specifically for an API.
- The details are logged in case of an invalid response is returned.
- Added data section in the logs.
- The parameters starting with an underscore are cleaned up in the
CallingConvention#cleanUpParameters method.
- Added support for multiple custom calling conventions. The default calling
convention can also be specified in the impl.xml file.
- If no runtime properties is defined, the server will use the
xins.properties file located in the generated WAR file if it exists.
- The predefined empty rule list should not be disposed.
* XINS/Java Client Framework:
- Functional error code are logged at the INFO level.
- Added input data section in the logs.
- Added new org.xins.client.async package to call API's asynchronously.
* Generation of server-side Java code:
- Added the description of the function in the javadoc of the
implementation class.
- Fixed SF.net bug #1414626: defining a data section in a resultcode file
does not work.
- Added get methods in the generated result files.
- Added get methods for the attributes of the generated data element objects.
- Optimized the generation of the result code used in the functions of
the api.
* Generation of client-side Java code:
- Added the description of the functions in the javadoc of call methods
of the generated CAPI class.
* Generation of the WAR file:
- The bootstrap property "org.xins.server.config" is allowed as defined
bootstrap property in impl.xml.
- The value of the bootstrap property is defined as pcdata.
* Generated build file:
- Restricted the validation and generation of Java files to the functions,
types and result codes declared in the api.xml file. This fixes the
SF.net bug #1371700.
- Added capi- target that refers to the jar- target.
- Fixed SF.net bug#1371781: Stub generation overwrites existing impl.xml.
* Test forms:
- Unicode encoding of parameters is done according to RFC 2718.
- Fixed SF.net bug #1352259: Problem if an input parameter is named action.
* XSLT:
- Merged branch BRANCH_XSLTDOCS to the head. A tool added to generate the
XSLT documentation. Some sample documentation added in type.xslt.
* Unit Tests:
- Merged branch BRANCH_XSLTDOCS to the head. Libraries added to write and
execute XSLT unit tests. Sample tests are added for some XSLTs.
* DTD:
- Added the possibility to define data elements in the error code files
the same way as it is done for functions.
- Added the type attribute to the error code in order to be able to specify
if the error code is functional or technical.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.4.0 ALPHA 2:
* XINS/Java Common Library:
- The HTTPServiceCaller logs the URL as it is sent to the server.
- Implemented a web server with the HTTP Servlet container in order to
return the web pages included in the WAR file.
- Adapted ServletRequestPropertyReader to decode the URL parameters
correctly with Unicode characters.
- URL decoding will now fails if you try to decode a character that should
have been encoded.
- HTTPServiceCaller sends parameters encoded using the URLEncoding class.
- Added a method to provide the possibility to set a prefix when logging the
parameters.
* XINS/Java Server Framework:
- Fixed SF.net bug #1382394: CustomCallingConvention ignored. This bug was
introduced in XINS 1.4.0-alpha1.
- Fixed SF.net bug #1380246: XSLT cache not used in XSLT calling convention.
- Fixed SF.net bug #1382438: XMLCallingConvention does not match the
specifications.
- The parsing of the parameters is done in the calling convention itself
in order to handle the Unicode characters correctly.
- Implemented SF.net RFE #1183604: Return 400 Bad Request on duplicate
parameter values.
- Added attribute-combo.
* XINS/Java Client Framework:
- Added attribute-combo.
* Generation of server-side Java code:
- The generation of the result code doesn't check for the result code
uniqueness anymore as the value attribute of the result code is
deprecated since XINS 1.0.0.
- Added attribute-combo.
* Generation of client-side Java code:
- The generation of the result code doesn't check for the result code
uniqueness anymore as the value attribute of the result code is
deprecated since XINS 1.0.0.
- Added attribute-combo.
* Generatation of specdocs:
- Added attribute-combo.
* Generated tests:
- If the servlet.port property is set, then the Servlet container will
start on the specified port.
- The error returned if the tests failed to start, is now shown in the HTML.
* Generated build file:
- Avoid to have a double slash in the endpoint location in the generated
WSDL file.
- Added Open Document and WSDL to the ZIP file created by the client target.
* XSLT:
- Renamed hungarianPropertyUpper to hungarianUpper and
hungarianPropertyLower to hungarianLower.
- Removed unused template "hungarian".
* Libraries:
- Upgraded Log4J from 1.2.12 to 1.2.13.
- Upgraded Jakarta Commons HttpClient from 3.0-rc4 to 3.0 (final).
- Upgraded xmlenc from 0.51 to 0.52.
* Other:
- Changed XINS copyright statements from '2003-2005' to '2003-2006'.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.4.0 ALPHA 1:
NOTE: This release is based on XINS 1.3.0-rc2.
* XINS/Java Common Library:
- Fixed so-called 'dead local stores', reported by FindBugs, in classes
HTTPServiceCaller and ElementParser.
- Marked the following non-public inner classes as static:
ChainedMap$ChainedSet, ChainedMap$EntrySet and ElementParser$Handler.
- Removed unused field _withCentury from class DateConverter.
- Implemented RFE #1359749: Added support for Unicode in URLEncoding.
. The NonASCIIException is no longer thrown by encode() and decode() and
is marked as depreceated.
. Marked the WhislEncoding as deprecated. URLEnconding should be used
instead.
- Modified PropertyReaderUtils to use the URLEncoding instead of the
WhislEncoding.
- Fixed a minor bug in the InitializationException class, method
createMessage. If the message for the cause exception is null, then an
IllegalArgumentException would be triggered in FastStringBuffer, method
append(String).
- Fixed the Javadoc documentation for the logIgnoredException methods in
class Utils.
- Implemented RFE#1359786: Added getUniqueChildElement() method to
org.xins.common.xml.Element.
* XINS/Java Server Framework:
- Fixed two issues in the AccessRuleFile class:
- The interval was never stored, was lost during re-initialization and the
file was consequently never re-read again.
- The object was never internally marked as disposed.
- Implemented SF.net RFE #1359962: Automatic CallingConvention detection:
. Added log messages 3508-3511.
. Implemented an algorithm in CallingConventionManager to detect the most
appropriate matching calling convention for a request that does not
specify any.
. Added a parseXMLRequest method to class CallingConvention that only
accepts an HttpServletRequest (and not also a boolean that indicates
whether the content type should be checked). The content type will
always be cheched. This method is added for convenience and to avoid
confusion by potential CustomCallingConvention implementors. The
CustomCallingConvention class documentation has been updated.
. Added the package-private method 'matchesRequest(HttpServletRequest)'
and a delegate for it, the protected method
'matches(HttpServletRequest)' to class CallingConvention. These methods
are used to determine whether the calling convention is expected to be
able to handle the specified request successfully.
. Changed some constants in the XSLTCallingConvention from private to
package-private.
- Added caching to the parseXMLRequest methods in class CallingConvention.
Added DEBUG-level log messages 3512-3515 so it can be traced how this
cache behaves.
- Made the constructors of classes SOAPCallingConvention and
XMLRPCCallingConvention throw an IllegalArgumentException if the API
argument is null.
- Marked XSLTCallingConvention$URIResolver as a static inner class.
- Applied some minor refactorings to several classes.
- Modified FormattedParameters to use the URLEncoding instead of the
WhislEncoding.
* Logdoc:
- Fixed SF.net bug #1351055: Incorrect code generated for exception message.
- Minor refactoring in class LogCentral.
- Changed the private AbstractLog$CustomLevel class to final.
- Implemented the toString() method on the AbstractLog$Controller class.
- Printing error message to System.err if a locale is not supported by one
of the Logdoc-generated Log classes
- Fixed Bug #1374150: Multiple Logdoc with multiple implementations
does not work.
- Implemented RFE #1359758: Log the request with URL.
- Implemented RFE #1359772: Added the possibility to write the stack trace
at the same logging level as the message.
* Calling convention requirements definitions:
- Added a format description of the XINS standard calling convention in a
new src/xml/cc-spec/xins-std/cc-spec.xml file.
* Generatation of specdocs:
- Moved header.xslt and footer.xslt from src/xslt to src/xslt/specdocs.
- Started work on SF.net RFE #1345859 ("Document specification/example
interpretation rules"): Added 'Help' page, with link in header. The page
contains a list of the requirements for the XINS standard calling
convention (from the cc-spec.xml file).
- Changed the CSS so that thin borders are now 1px instead of 1pt. That
fixes a minor visual glitch.
- Implemented RFE #1189392: Generate Logdoc HTML for API.
* Generation of server-side Java code:
- Implemented RFE #1359780: The modifier of the get methods of the generated
RuntimeProperties has changed from package only to public.
- Added support for hyphens and dots in the parameter names, attribute names
and element names.
- Adapted the code generated for checking the parameters in order to avoid
variable name conflict when the same element is used inside other
element at different XML levels.
* Generation of client-side Java code:
- Improved the generation of the CAPI [Function]Request classes:
. Fixed SF.net bug #1362875: Overriding Request input value with empty
string ignored.
. Implemented SF.net RFE #1359740: Add get methods for CAPI Request
objects.
. Implemented SF.net RFE #1362836: [Type].toString is called twice in CAPI
Request set methods.
- Added support for hyphens and dots in the parameter names, attribute names
and element names.
- Adapted the code generated for checking the parameters in order to avoid
variable name conflict when the same element is used inside other
element at different XML levels.
* Generated JUnit test:
- Implemented RFE #1359778: Added if the build properties test.start.server
is set to true the test target will also start the API Servlet.
* Generated test forms:
- Implemented RFE #1359804: A textarea is used to enter the data section
value.
* Generation of Open Document Format:
- Started the implementation of RFE #1189420: Generate specdocs in
OpenDocument format. New xins command 'opendoc' added.
* Generation of the WAR file:
- Implemented RFE #1182932: Set bootstrap properties in impl.xml.
- Implemented RFE #1359742: Add html/js files to the generated WAR file.
* XSLT:
- Implemented RFE #1359799: XSLT improved by passing nodes instead of
file location.
- Parameters not used are not passed to the templates anymore.
- Removed unused included templates in some templates.
* DTD:
- Copied all 1.3 DTDs to 1.4 DTDs.
- Introduced the 1.4 DTDs, where appropriate.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.3.0 FINAL:
* Logdoc:
- Fixed SF.net bug #1351055: Incorrect code generated for exception message.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.3.0 RELEASE CANDIDATE 2:
* XINS/Java Common Library:
- Fixed SF.net bug #1343520: French translation for log message 1308 is
English.
- Return 404 on requests of the /favicon.ico file in the internal Servlet
container.
- Fixed SF.net bug #1344993: Possible null pointer dereference in
Element.setAttribute.
- Fixed SF.net bug #1344989: Potential null pointer dereference in
EnumItem.equals.
- Fixed SF.net bug #1344991: Element.clone() does not call super.clone().
- Fixed SF.net bug #1344979: DataElement#clone() does not call
super.clone().
- Fixed SF.net bug #1344985: Inconsistent locking of FileWatcher fields.
* XINS/Java Client Framework:
- Fixed SF.net bug #1343520: Potential NPE in DataElement#setAttribute.
- Removed unused variables in XINSServiceCaller.
* XINS/Java Server Framework:
- Fixed SF.net bug #1343470: NPE in APIServlet.
- Fixed SF.net bug #1343968: Potential NPE in AccessRuleFile, method
parseAndApply(String,int).
- Fixed SF.net bug #1343980: ConfigManager does not close constructed
FileInputStream.
- Fixed SF.net bug #1343973: AccessRuleFile does not close constructed
FileReader stream.
- Removed an unused variable from class API, method handleCall.
* Generatation of specdocs:
- Fixed SF.net bug #1345831: Examples incorrect if default convention is not
_xins-std.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.3.0 RELEASE CANDIDATE 1:
* XINS/Java Server Framework:
- Fixed SF.net bug #1263832: No unique call ID for meta-functions.
- Refactored CallingConventionManager. Fixed SF.net bug #1336471 (Failed
creation of a calling convention fails the server) in the process.
- No longer logging the associated exception when logging message 3301. This
message is logged when the runtime properties file exists at start-up, but
cannot be opened.
- Removed unused log messages 3201, 3204 and 3611.
- If the calling convention throws an IOException when converting the
result, the exception is logged and a '500 Internal Server Error' is
returned.
- Fixed a bug in all CallingConvention instances. The
HttpServletResponse.setEncoding(String) method was called _after_ calling
getWriter(), which is invalid according to the Java Servlet 2.4
Specification.
- Moved log messages 3237-3241 three IDs up (to 3240-3244). These log
messages are new since XINS 1.3.0. Added log messages 3237-3239 in
between:
. 3237: Creating calling convention
. 3238: Created calling convention
. 3239: Error while creating calling convention
- Replaced log message 3560 with 3239.
- Added log messages:
. 3245: Determined default calling convention
. 3246: No custom calling convention specified
. 3247: Custom calling convention is specified
. 3507: Unable to retrieve calling convention
- Implemented SF.net RFE #1263809 ("Refactor: init(ServletConfig) should not
throw ServletExc.") The servlet initialization now always fails silently,
meaning that the servlet container is not notified by means of an
exception. This is done to avoid re-initialization by the servlet
container.
- Removed log messages 3000, 3001 and 3002, about the initialization of the
servlet. These log messages are considered irrelevant and possibly even
confusing. See SF.net bug report #1263768: "Log: Servlet init succeeded
while framework init failed."
- Changed level of log message 3231 from INFO to DEBUG.
- Added support for an optional 'detail' parameter to the following log
messages: 3209, 3215, 3222, 3242, 3411, 3418, 3423 and 3437.
- Quoting reason parameter in translations for message 3210.
* XINS/Java Common Library:
- Fixed bug #1334039: FastStringBuffer#append(char[] ch, int off, int len)
now accepts ch.length == off if len == 0.
- Added support for content types in the local servlet container.
- Improved the Javadoc comments for the ServiceCaller class.
- Added constructor to class MissingRequiredPropertyException that accepts a
detail message. Added an associated getDetail() method.
- If an exception is thrown when handling a request with the internal
Servlet container, this exception is logged and ignored.
* Generated build file:
- If no directory exists for the implementation, the stub target will
create the directory.
- If the implementation directory is not created, the generation of the
stub will create it.
* Logdoc:
- In the generated HTML index page (titled "Log documentation") now only
listing the groups that actually have associated entries.
* Libraries:
- Upgraded xmlenc from 0.49 to 0.51. This fixes a bug regarding the escaping
of quote characters in attribute values.
* Shell script / batch file:
- Fixed SF.net bug #1329335. A descriptive error is now shown when the
script cannot determine the XINS home directory.
* Build- and release-process:
- Removed the generated stub files and generated tests of the allinone API
from the release.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.3.0 BETA 4:
* Logdoc:
- Added public static method useDefaultLocale() to LogCentral.
- Fixed the encoding of all Logdoc XML files (under src/logdoc) from UTF-8
to ISO-8859-1.
- Improved performance and memory footprint to generate the translation
bundle files.
* XINS/Java Common Library:
- Rewrote the MandatoryArgumentChecker class in org.xins.common. If the
passed argument name is null, then a programming error is logged and a
ProgrammingException is thrown. Improved the unit tests.
- Changed the interface of the DateConverter class. Replaced the class
function toDateString(long,boolean) with an instance method format(long).
- Improved logging in HostnameTask.
- Removed unused method 'log' from class org.xins.common.Utils.
- Improved the message for a ProgrammingException.
- Improved the implementation of the HTTPCallConfig class. Implemented the
describe() method and made the HTTP method required in setMethod. This
solves an inconsistency in the Javadoc comments.
- Changed the copy method of the ExpiryFolder so it can be executed even if
the strategy is stopped.
- Changed the HTTPCallResult constructor to check all mandatory arguments at
once.
- Improved the message for an InitializationException, added a unit test,
and fixed a bug (a NullPointerException) in the creating of the message.
- Logging unsupported protocol as message 1308 (in the DescriptorBuilder).
- Added getters for detecting class/method, subject class/method and detail
in class ProgrammingException.
- Added getCallingClass(int) and getClassMethod(int) methods in class Utils.
- Slightly changed Utils.logProgrammingError(String). The caller is assumed
to be the detecting class/method, while the caller of the caller is now
expected to be the subject class/method.
- Added missing toHexString(FastStringBuffer,char) method in class
HexConverter. Unit tests for this new method are in place.
- Added TextUtils.trim(String,String) that returns the trimmed version of
the first argument, or the second argument if the first argument is either
null or empty (after trimming).
- Changed Utils.logIgnoredException to have the same order of arguments as
the corresponding logProgrammingError method.
- Added a version of Utils.logIgnoredException that accepts a detail
message.
- Made the HTTPServiceCaller class compatible with HTTPClient 2.0.2.
- Implemented the getScheme(), getRequestURI() and getRequestURL() method
in the internal Servlet container.
- Added method isUsable() in class Manageable.
- Removed the unused log messages 1000-1005.
- Improved Javadoc comments and formatting.
* XINS/Java Client Framework:
- Improved the implementation of the XINSCallConfig class. Implemented the
describe() method and made the HTTP method required in setHTTPMethod. This
solves an inconsistency in the Javadoc comments.
- Changed the XINSCallResult constructor to check all mandatory arguments at
once.
- Printing max 1024 bytes of the received HTTP data in the exception message
in case of an invalid XINS call result (i.e. parse error).
- Improved Javadoc comments and formatting.
- Unit tests added for unicode charcters in prameters.
* XINS/Java Server Framework:
- Fixed SF.net bug #1323689: AccessRuleFile not printed correctly in log
message 3429.
- Fixed SF.net bug #1328702 ("Removing log locale setting does not reset
locale"): When a log locale is first specified in the runtime
configuration and then later on remove from the runtime configuration, the
framework now switches back to the default locale. This problem was
probably in XINS since release 1.0.0.
- Fixed SF.net bug #1326533: Incorrect MIME type support.
- Fixed SF.net bug #1263829. If a meta-function now throws an exception,
then transaction logging will still be performed.
- Fixed bug: Now actually allowing the reload interval to be 0 in the
AccessRuleFile.
- Fixed bug: Now correctly reporting a negative reload interval instead of
logging an IllegalArgumentException (in class API).
- Stored the name of the parsed ACL file in case of re-initialization. This
fixes a bug in the AccessRuleFile that caused an issue at
re-initialization.
- Improved performance of log messages 3540 and 3541 by making FormattedDate
use the performance-optimized method in DateConverter.
- Only logging unused properties (message 3434) if the framework
(re-)initialized successfully.
- Improved the logging of an I/O error in the AccessRuleFile constructor,
especially when the file is not found. Also now correctly setting the
cause of the ParseException to the related IOException.
- Improved the translations for log message 3522. Previously the message was
vague and misleading.
- Fixed minor typos in the description of log messages 3540 and 3541.
- Removed log messages 3430 and 3601. Instead of any of these, message 1050
(programming error detected) is logged.
- Removed log message 3236 (API build version is not set). Instead, message
3232 (Expected bootstrap property to be set) is logged.
- Consequently using the term 'API-manageable' instead of 'Manageable
object' in log messages.
- Applied more improvements to various log messages.
- Improved state checking in CallingConvention class.
- Improved XSLTCallingConvention. Now throwing an
InvalidPropertyValueException if the cache setting is neither "false" nor
"true". If the property is not set, then by default the cache is enabled.
Logging whether the cache is enabled using messages 3440 (enabled) and
3441 (disabled).
- Added more comments in the XSLTCallingConvention.
- Fixed if a calling convention fails at the initialization, it can
be re-initialized.
- Made the _CheckLinks meta function also compatible with HTTPClient 2.0.2.
- Simplified reading of the XML request in class CallingConvention. This
should speed-up the handling of incoming XML documents and it should
reduce object churn.
- Fixed bug: Now correctly reporting an invalid reload interval instead of
logging an NumberFormatException (in class API).
- Rewrote the CallingConventionManager. Added a significant amount of
logging for CallingConventions.
- Improved Javadoc comments and formatting.
* Generation of server-side Java code:
- Fixed possibility of conflict in generated code between variables.
- Improved performance and memory footprint by storing the root node of the
API file in a variable.
* Generation of client-side Java code:
- Fixed possibility of conflict in generated code between variables.
* Generation of the specific documentation:
- Improved performance and memory by storing document nodes in a variable.
- Added test for the category.
* Generated WSDL:
- Fixed: defined base64 types were not detected correctly.
* Generated build file:
- The WSDL files are generated in the build/wsdl directory.
- Improved performance and memory by storing the node of the API file
in a variable.
* Build- and release-process:
- Fixed incorrect directory name for package target.
* Libraries:
- Upgraded Jakarta Commons HttpClient from 3.0-rc3 to 3.0-rc4.
* Other:
- Improved the Checkstyle config. Now also checking things like a maximum
method line count (100), @author tag format, @version tag format, etc.
- The script xins.bat displays an error when XINS_HOME is not set and it is
not run from the XINS bin directory.
- Configured the encoding of Java source files to ISO-8859-1.
- Changed the encoding of build.xml and build-dev.xml from US-ASCII to
ISO-8859-1.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.3.0 BETA 3:
* XINS/Java Common Library:
- Fixed SF.net bug #1301078: WhislEncoding encodes as "$0000xxxx" instead of
"$xxxx". This bug was probably in XINS since release 1.0.0.
- Fixed SF.net bug #1301221: HexConverter.toHexString(short) fails on
negative values. This bug was probably in XINS since release 1.0.0.
- Configure the Log4J fallback only when no Log4J settings are already set.
- Added toHexString(FastStringBuffer,short) and
toHexString(FastStringBuffer,byte) to class HexConverter.
- Added new and extended existing unit tests for package
org.xins.common.text.
- Improved performances for the internal servlet container.
- Setting the thread name for the FileWatcher thread, in the constructor.
- Improved performances of WhislEncoding.encode() by a factor up to 10.
- Improved performances of URLEncoding.decode().
- If the length of the char[] to add to the FastStringBuffer is 0 then
nothing is done.
- Optimized IPAddressUtils.ipPartToInt() by using a char[].
- Added SAXParserProvider class in org.xins.common.xml, with unit tests.
- Disabled the validation of the SAX parser created by the
SAXParserProvider.
- Added a method to get the current time as a String in the DateConverter.
- Set a proper name for the Thread of the servlet container.
- Setting the name for the HTTP call executor thread to something
meaningful.
- If an empty HTTP user-agent string is specified, then it is not sent in
the request sent by an HTTPServiceCaller.
- Set serialVersionUID on some classes to fix serialization-compatibility
with XINS 1.2.5.
- The classes FastStringBuffer and LogdocStringBuffer
check the mandatory arguments in the code instead of using the
MandatoryArgumentChecker.
- Slightly improved performance of FastStringWriter by inlining the private
assertOpen() method and by inlining the calls to MandatoryArgumentChecker.
- Methods in class Manageable (for bootstrapping and initialization) allow
passing null as a PropertyReader. In this case an empty PropertyReader
will be used.
- The classes of the spec package now check the mandatory parameters.
- Added more details in some exception thrown by classes in the spec
package.
- The internal Servlet container returns 404 for the /favicon.ico request.
* XINS/Java Server Framework:
- Fixed SF.net bug #1307026: Context ID generation not thread-safe.
- Set the default level for logs starting with "org.xins." to INFO.
- Implemented SF.net RFE #1282935. All calling conventions are initialized
when the API is started.
- Quoting servlet container, JVM and OS info in log message 3200.
- Optimized the Engine by getting the error information only when the
exception is thrown.
- Improved performance of the ContextIDGenerator.
- There were still some checks in the code that required the watch interval
to be at least 1. Changed these to allow 0, in case no automatic reloading
should be performed.
- Added exception to log message 3413.
- Logging 3415 ("XINS/Java Server Framework has been (re-)initialized") only
after the other related log messages, such as 3434.
- Changed CallResultOutputter code to improve performance.
* Generated types:
- The enum type now accepts more special characters in the name and in the
value.
* Generation of server-side Java code:
- Fixed bug which caused the generation of function files to fail with a
NullPointerException on Java 1.4.1.
* Generation of the specific documentation:
- Removed the link to the environment on the API page as it does not point
to any HTML page.
* Generated test forms:
- Fixed the environment did not match the destination when the back
and forward button was used.
* Unit tests:
- Removed unused imports and unused variables.
- Removed underscores from method names.
* Performance tests:
- Added performance tests for DateConverter.
- Allowing performance test class to be set in variable 'perftestclass'.
* DTD:
- Added 1.3 DTD's for author, environment, impl, resultcode and type XML
files.
* Other:
- The script xins.bat no longer crea