This file contains a detailed explanation of the changes between individual
versions of XINS.
$Id: CHANGES,v 1.2471 2010/07/10 10:20:44 agoubard Exp $
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 2.3:
* XINS/Java Common Library:
- Fixed bug #3021346: BeanUtils.getParametersAsString() cannot handle
_list types.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 2.3 BETA 2:
* XINS/Java Server Framework:
- Fixed bug #2991113: IPv6 not supported.
- Improved support for IPv6.
* Generated build file:
- Fixed bug #2991117: Generated build doesn't work with ANT 1.8.0.
- Added includeantruntime attribute to javac to avoid warning.
- Fixed bug #2991753: Shell script does not work.
* Unit tests:
- Fixed do not inherit Ant properties when running the test (api.version).
- Use java.net for https tests.
* Build- and release-process:
- Fixed unknown reference to path.common with ANT 1.8.0.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 2.3 BETA 1:
* XINS/Java Common Library:
- Fixed bug #2816605: IllegalArgumentException declared but not thrown.
- Fixed bug #1861794: Log message 1301 is logged at wrong time.
- Fixed bug #2815318: A null Element attribute is counted as an attribute.
- RFE #1864466: Let CallException indicate whether fail-over is allowed.
* XINS/Java Server Framework:
- Use Log4J NDC instead of ThreadLocal to store session in xins FF.
- Reversed use of Log4J NDC in xins FF.
- Creation of the API using the constructor of APIImpl.
- RFE #2949336: _GetStatistics for just one function.
* XINS/Java Client Framework:
- RFE #2932709: Added transaction logging on the client side.
* Unit tests:
- Fixed empty lines in XSLT tests.
- Added tests for equals with XML Elements.
* Generation of server-side Java code:
- Removed static SINGLETON field in APIImpl.
- Functions are now created in the constructor of the API.
* Generated build file:
- Added create-project.
- Call of xins version is done in the make-build.xml.
- RFE #2947915: Allow JMX port to be specified.
- Excluded API name from the Maven groupId.
* Build- and release-process:
- The releases now need to be uploaded via the browser.
- Fixed unresolved classes for Netbeans.
- Added Netbeans 6.7 project files.
* Librairies:
- Removed JSP and DTD files from servlet.jar as not needed.
* DTD:
- Added DTD files for XINS 2.3.
* Documentation:
- Fixed some broken links in the calling convention primer.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 2.3 ALPHA 2:
* XINS/Java Common Library:
- Fixed bug #2855100: HTTPServiceCaller creates too many open sockets.
* XINS/Java Server Framework:
- Improved detection of sub-domain for cookies in the xinsff convention.
- Fixed bug #2884559: Adding domain to cookie only when valid in xinsff.
- Removed exact number check for Servlet version, 2.2 or higher is supported.
* Librairies:
- Upgraded Commons Codec from 1.3 to 1.4.
- Upgraded Commons Logging from 1.1 to 1.1.1.
- Upgraded Commons Net from 1.4.1 to 2.0.
* Build- and release-process:
- Used the unless="no-ftp" instead of no-upload for targets without sshexec.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 2.3 ALPHA 1:
* XINS/Java Common Library:
- Catch possible missing InetAddress class in IPAddressUtils to make API's
compatible with Google App Engine.
- Inner classes of ChainedMap should also be Serializable.
- If no description is set the spec package will return "" instead of null.
* XINS/Java Server Framework:
- Use IPAddressUtils to get the IP address for the APIManager.
* Generation of specdocs:
- Fixed bug #1847893: Regex pattern get padded with superflous characters.
* Generation of the WSDL:
- Fixed incorrect binding for resultcodes.
- Fixed Incorrect indentation for input bindings.
- Fixed Bug #2797857: Incorrect location of the SOAP binding operation.
* Tools:
- Added appengine target to deploy in Google App Engine.
* Build- and release-process:
- Stable version is 2.2 for maven.
- Used ${www.url} property for xins URL for Maven mail.
* Documentation:
- Changed install primer to with "or later" after version numbers.
- Added small precisions to the user guide.
- Point Souceforge.net logo to project page as requested by Sourceforge.
- Added section about output section possible in error codes.
* Other:
- Added XINS indentation preferences for NetBeans in nbproject/project.xml.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 2.2:
* Build- and release-process:
- Added clean target for the documentation.
- Improved release-process.txt document.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 2.2 RC 1:
* XINS/Java Common Library:
- Declared _xml in the spec package.
* Generation of server-side Java code:
- _xml should translate to the XML class and not Xml.
* Unit tests:
- Added unit tests for the XML element.
* Build- and release-process:
- Clean done once before the tests when creating a release.
- Improved documentation on creating a release.
- Installer target also uploads the file.
- Fixed upload-homepage target.
* Documentation:
- Added new features in the XINS user guide.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 2.2 BETA 2:
* XINS/Java Common Library:
- Fixed bug #1861811: Added possibility to specify an authority in a URL
for the TargetDescriptor.
* Generation of client-side Java code:
- Fixed bug #2320665: "result" can not be used as input parameter name with
capis.
* Documentation:
- Fixed incorrect documentation of the callxins task.
- Removed invalid links in web site.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 2.2 BETA 1:
* XINS/Java Common Library:
- Fixed BeanUtils#populate to also populate from the data elements.
* Unit tests:
- Disabled test with http://xins.sourceforge.net/patterntest.php as the
PHP no longer work.
- Changed W3C URLs to Apache URLs as W3C doesn't accept HTTPClient
requests anymore.
* Build- and release-process:
- Upload of the release is done using sftp instead of the deprecated ftp
system.
- Upload to the web site is done on a new server.
- Added new required property sf.upload.dir for
$HOME/.sourceforge.properties.
______________________________________________________________________________
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 creates a __XINS_HOME environment variable.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.3.0 BETA 2:
* XINS/Java Common Library:
- Fixed SF.net bug #1280644: Change in runtime props file does not trigger
re-init. This problem was introduced in 1.3.0 beta 1.
- Improved logging for the FileWatcher. Added instance ID in all log
messages. Also new is the logging of an INFO message when the FileWatcher
thread dies.
- Improved the HostnameTask (for Apache Ant) so it now attempts calling the
'hostname' command on UNIX/Linux systems, if no information can be
retrieved from the JDK.
- Added log messages for the Servlet container.
- Removed unused imports and unused variables.
* XINS/Java Server Framework:
- Fixed the statistics locking. This resolves SF.net bug #1263827.
- Fixed SF.net bug #1290992: NPE if runtime config file is not specified.
- Applied some minor changes to APIServlet to make this class binary
backwards compatible with XINS 1.2.5. Validated with Japitools from
http://www.kaffe.org/~stuart/japi/.
- Added parseAccessRuleList(String) method in class AccessRuleList to fix
backwards compatibility with XINS 1.0.x.
- Added missing add(org.xins.server.Element) method in class FunctionResult
for backwards compatibility with XINS 1.0.x.
- Deprecated dispose() method in class AccessRule. The method is unused and
has an empty implementation.
- Improved test coverage by adding new tests and extending existing ones.
- Explicitly supporting the upcoming Java Servlet 2.5 specification in the
APIServlet class. See:
http://jcp.org/aboutJava/communityprocess/maintenance/jsr154/index3.html
- Removed log #3219 which is similar to log #3218.
- All calling conventions return the same "Server" HTTP header.
- Removed unused imports and unused variables.
* XINS/Java Client Framework:
- Removed unused imports and unused variables.
* Generated types:
- Fixed SF.net bug #1292025: The == operator does not always work for
EnumItem.
* Generation of server-side Java code:
- Fixed SF.net bug #1297833: Input data section element with an _date
attribute does not compile.
* Generation of client-side Java code:
- Fixed the fact that more than one addDataSection method was created in the
request if the input data section had more than one element.
* Generated test forms:
- The content of the iframe is removed before any request.
* Generated build file:
- If no impl.xml exists when the stub files are created, then a default one
is generated.
* Build- and release-process:
- No longer including the private Javadoc in the package.
- Added the release notes file to the release.
* Libraries
- Upgraded Log4J from 1.2.9 to 1.2.12.
- Upgraded xmlenc from 0.48 to 0.49.
* Tests:
- Added a link to an ACL file from the runtime properties used for the unit
tests.
- Added a unit test for the SOAP calling convention.
- Added a unit test for the CustomCallingConvention. This test is not
executed as conflicts with other unit tests.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.3.0 BETA 1:
* XINS/Java Common Library:
- Added the StatsPropertyReader with a corresponding test.
* XINS/Java Server Framework:
- Fixed SF.net bug #1259976: OtherIOError instead of SocketTimeout on Java
1.3.
- Implemented SF.net RFE #1189417: Message 3434 is now logged if a runtime
property appears to be unused.
- Implemented SF.net RFE #1263773. JVM and OS-info have been added to log
message 3200.
- Refactored the classes related to the Engine in order to reduce the
dependencies between classes.
- Renamed CallingConventionFactory to CallingConventionManager. The code
related to the calling convention in Engine has been moved to the
CallingConventionManager class.
- Moved the Object containing the runtime properties from the Engine class
to the ConfigManager class.
- Improved _CheckLinks metafunction, which now gives a connection timeout
exception if a thread is active after the timeout. Also added some log
messages.
* Generated specification documentation:
- The link to the test form on the function page is now at the top of the
page.
* Generated test forms:
- Refactored the layout so that the request and the result is visible on the
same page.
- Added the possibility to choose the environment on the test form page.
This means that only one test form is generated per function.
* Build- and release-process:
- Added images associated with the primer.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.3.0 ALPHA 4:
* Logdoc:
- Implemented SF.net RFE #1060631: Allow @since tags on generated Logdoc
classes.
* XINS/Java Common Library:
- Fixed return type error for SimplePatternParser and WhislEncoding.
- Fixed SF.net bug #1240240. XINSServletContext is incompatible with
Java 1.3.
- Implemented SF.net RFE #1242308: Extend log msg 1109 to include exception
class and message.
- Implemented SF.net RFE #1255596: Distinguish NoRouteToHost in
ServiceCaller. No unit test could be added, though, since there is no
obvious way to reproduce this situation.
- Added new methods to get the specification of the API based on the name
of the entity.
- EntityNotFoundException is thrown if the entity is not found in the
classes of the spec package.
- Changed methods used to get the API specification return a Map or a List
instead of an array.
- Renamed the classes in the spec package by adding "Spec" at the end of
the class name.
- Added logIgnorableException methods to the Utils class.
- Slightly improved internal state checking in FileWatcher class.
- Added the possibility set the user agent in the HTTPCallConfig.
- Improved the servlet container to return custom HTTP headers.
- Added ChainedMap in the collection package. This class returns the
values in the same order that they were added.
- Adapted the spec package classes to use the ChainedMap instead of the
HashMap.
- Implemented SF.net RFE #1198237: Accept XML string in ElementBuilder.
- Increased the default capacity of some FastStringBuffer.
* XINS/Java Client Framework:
- Implemented SF.net RFE #1115233: Show _InvalidRequest details in exception
message.
- Added a new method to convert a org.xins.client.DataElement object to a
org.xins.common.xml.Element object.
- Implemented SF.net RFE #1247370: A user agent is sent when calling a
XINS API with XINSCallRequest.
- Fixed SF.net bug #1277256: the data element specified in the generated
CAPI request class was not forwarded to the XINSCallRequest object.
- Increased the default capacity of some FastStringBuffer.
* XINS/Java Server Framework:
- Fixed SF.net bug #1256466: Exception in meta-function should generate
_InternalError.
- Fixed SF.net bug #1187894. Duplicate 3305 message after re-init for change
of xins.properties.
- Implemented SF.net RFE #1224680. Added _CheckLinks meta-function.
- Implemented SF.net RFE #1078843. The runtime-property
org.xins.server.contextID.filter specifies which diagnostic context
identifiers are considered valid. If a request specifies one that does not
match this filter, then a message is logged and a new diagnostic context
identifier is generated. Added log messages 3431-3433 for the
initialization and 3580-3583 for the runtime logging.
- Implemented SF.net RFE #1259918: Include path in log message 3521.
- Implemented SF.net RFE #1259926. The servlet container info is now
included in log message 3200 (bootstrapping server framework).
- The value of the data section attributes are changed, if needed, to the
correct format in the SOAPCallingConvention.
- Applied some refactorings.
- Improved logging.
- Implemented SF.net RFE #1247369: The Server header is sent back. Note that
it applies only for a limited set of calling conventions.
- Added XML-RPC calling convention.
- Added a method in CallingConvention to parse XML input.
- Increased the default capacity of some FastStringBuffer.
* Generated CAPI classes:
- Implemented SF.net RFE #1252557: Support wrapper values in generated
Request.
- Fixed SF.net bug #1237539: Attribute values not checked.
- Implemented SF.net RFE #1203644: Generate method for data section.
* Generation of server-side Java code:
- Fixed SF.net bug #1277255: Incorrect generated method if the request had a
data section element that could contain PCDATA.
* Generated WSDL:
- The defined types are declared as types in the generated WSDL file.
- If the command line property wsdl.endpoint has been set, use its value
as the endpoint for the generated WSDL.
* Generated build file:
- Fixed SF.net bug #1250043: No filtering on specification files.
- Implemented SF.net RFE #1242139: Max width for xins help should be 79
chars.
* Libraries:
- Updated xmlenc from 0.47 to 0.48. This fixes SF.net bug #1201368:
NoSuchFieldError for xmlenc on IBM Java 1.3/Linux.
* Build- and release-process:
- Fixed the incorrect classpath for the "coverage" target.
- Added the primer in the release.
- The WSDL file is generated when running the unit tests.
* Other:
- Implemented SF.net RFE #1189408: Enforce that errorcode value is unique.
This only applies to pre-XINS 1.0 errorcodes. Since XINS 1.0, it is not
possible to define a value for an error code.
- Implemented SF.net RFE #1190166: Make XINS_HOME environment variable
optional.
- Implemented second half of SF.net RFE #1190166: Make XINS_HOME environment
variable optional. This part involved making the change to the batch file.
The shell script was already adapted in XINS 1.3.0-alpha3.
- Replaced jcoverage tool with cobertura.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.3.0 ALPHA 3:
* XINS/Java Common Library:
- Improved Javadoc of the spec package.
- Improved the parsing of HTTP POST requests for the internal servlet
container.
- Added methods to retreive the specification of a parameter given its name.
- Added a method in IPAddressUtils to get the local IP address.
- Implemented the methods getResource() and getResourceAsStream() in the
XINSServletContext class.
- Fixed bug #1238197. The _float32 and _float64 types now properly support
non-positive numbers.
* XINS/Java Client Framework:
- The API specification is stored in a static variable. This way the
specifications are only parsed once.
* XINS/Java Server Framework:
- Implemented SF.net RFE #1236690. Logging message 3236 if the build version
is not set on the API package.
- An InvalidRequestException is thrown if the request does not contain any
content-type in the _xins-xml calling convention.
- No specific namespace is returned in the SOAP response.
- The _boolean, _date and _timestamp types are converted from XINS format
to SOAP format and vice versa.
- Calling conventions other than the default one are cached.
- If no org.xins.server.config is not set or there is no org.xins.server.acl
property, only localhost is allowed to access the API.
- The returned MIME type for the SOAP calling convention has been changed
from application/soap+xml to text/xml.
- The SOAP calling convention now handles the input and output data
sections.
- The returned Response element for the SOAP calling
convention has now a diffenrent namespace.
- Added a test for the SOAP calling convention.
- Added a test for the _InvalidResponse error code.
- Refactoring of the Engine class: factored out: new classes
ContextIDGenerator, EngineStarter, ContextIDGenerator,
CallingConventionFactory and ConfigManager.Changed references in API and
APIServlet to the refactored classes.
* Generation of server-side Java code:
- Fixed bug #1238721: Error when sub-elements in input data.
- Fixed bug #1203659: Element add method generated even if not needed.
- Fixed bug #1238249: Error when input data element attribute is not _text
type.
- Fixed bug #1238762: Element list method generated even if not needed.
* Generated specification documentation:
- Added to possibility to have categories in functions. RFE #1029268.
* Generated WSDL:
- Changed the SOAP binding style from rpc to document.
- Changed target name space to urn:
- The input and output data sections are now taken into account in the WSDL.
* Generated build file:
- Fixed SF.net bug #1143791: Sometimes incorrect XINS version displayed on
Linux.
- Implemented RFE #1235979: "xins all" now generates everything.
- Removed the source attribute for the javac task, as not needed.
* Build- and release-process:
- The tar.gz release file is downloaded to create the Windows installer
only when needed.
- The build file has been splitted in 2. The file build.xml contains the
targets that also work in the release while build-dev.xml contains
the development targets. Note that you don't need to specify the file
name for the development targets (e.g. "ant -lib lib tests").
- The Windows installer now creates a program group with icons to run
the demo or look at the documentation.
- Added some of the new 1.3 features in the allinone demo.
* XINS shell script:
- Fixed SF.net bug #1237446. The script now works correctly with Cygwin.
This has been tested with Cygwin 1.5.12 on Windows 2000.
- Implemented SF.net RFE #1234788: Allow quotes, double quotes and commas in
shell script.
- Implemented first half of SF.net RFE #1190166: Make XINS_HOME environment
variable optional. The other half of the RFE involves makes an equivalent
change to the batch file.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.3.0 ALPHA 2:
* XINS/Java Common Library:
- Added tests for the spec package.
- Renamed some functions in spec package.
- Fixed SF.net bug #1215611: Unmappable character for encoding UTF8.
- The Perl5Matcher objects are no longer static as this class is not
thread safe.
- Added the spec package.
- Extended ElementParserTests. This unit test covers both the ElementParser
class and the Element class.
* XINS/Java Server Framework:
- Added SOAP calling convention.
- The Perl5Matcher objects are no longer static as this class is not
thread safe.
- Added log entry 3003, an error message logged when the doService method
throws an exception.
- Continued work on SF.net RFE #1203640, which pertains to refactoring of
the APIServlet class.
- Implemented SF.net RFE #1188054: _InvalidResponse should generate ERROR on
server side. Added log entry 3501 for this.
- Fixed SF.net bug #1222681: Transaction logging logs the API name instead
of the function name for meta-functions.
- Implemented SF.net RFE #1189399: Return lastReset from _GetStatistics.
- Added log 3522 that logs an error when an invalid request is received.
* XINS/Java Client Framework:
- Fixed SF.net bug #1215589: Parameter name does not match pattern.
* Generation of server-side Java code:
- Added generation of the stub from the examples.
- Implemented SF.net RFE #1173121. Now generating a Javadoc comment for
the call method in Impl class. While at it, improved the Javadoc
comment for the call method in the superclass .
- Implemented SF.net RFE #1172476. All generated skeletons for the function
implementation classes (Impl.java) are now marked final.
- Implemented SF.net RFE #1172503. Now generating a package.html file for
the package with server-side implementation classes.
- Fixed bug #1231030: getParameters in FunctionResult can return null.
* Generation of client-side Java code:
- Fixed SF.net bug #1211447: Presence of mandatory Result Items not checked.
* Generated specification documentation:
- Added support for multiple implementation for the runtime properties.
* Generation of tests:
- Added generation of the test cases from the examples.
* Generated build file:
- Added support for multiple implementation.
- Added the test- target.
- Added wsdl- targets that generated the WSDL file for the given API.
- Reduced generated file size by putting XINS classpath in a reference.
- Fixed bug #1225433: Cannot find shared instance classes.
- Fixed bug #1225478: Cannot use 1.4 or 1.5 code in xins.
* Build- and release-process:
- Added target that creates the Windows installer.
- Added support for 'testclass' property, which indicates which class
defines the unit tests to run. By default the value is
'org.xins.tests.AllTests'.
* Libraries:
- Upgraded Jakarta Commons HttpClient from 3.0-rc2 to 3.0-rc3.
* Other:
- The debug and profile targets in the NetBeans build script do not require
Jetty anymore.
- Implemented SF.net RFE #1189407. All XSLT files that transform a
resultcode XML file now warn if the name differs from the value.
- Implemented SF.net RFE #1146195: New param-combo type 'not-all'.
- Small refactoring in the XSLT files: Created warning.xslt with 'warn'
template and using that for all warnings.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.3.0 ALPHA 1:
NOTE: This release is based on XINS 1.2.0.
* XINS/Java Common Library:
- Made tests for type classes Date and Timestamp compatible with Java 1.3.
Previously they used Java 1.4-specific functionality.
- Fixed SF.net bug #1201270, so that the 'run' target now works, even if the
computer is not connected to the Internet.
- Removed trace logs from the code.
- Fixed bug #1211277: XINS does not work with proxies.
* XINS/Java Server Framework:
- Changed the MetaFunctionsTests to properly detect the Java version and
omit certain checks on Java versions prior to 1.4.
- Removed the trace methods in the APIServlet class.
- Refactored the APIServlet class. The APIServlet is now only a small
servlet class, that delegates completely to the newly-introduced Engine
class. The inner class APIServlet.State has been replaced by the
EngineState class. This is in the scope of RFE #1203640, which pertains to
simplification of the APIServlet class.
- Fixed bug #1208936: Erroneous non-assignments in XSLTCallingConvention
class.
* XINS/Java Client Framework:
- Removed trace logs from the code.
* Generation of server-side Java code:
- Fixed: NullPointerException thrown when generated the Java class with
Java 1.4.1.
* Generation of client-side Java code:
- Disabled CAPI compatibility test on Java 1.3, since it uses a CAPI JAR
file generated with XINS 1.1.0, which generates Java 1.4-specific byte
code.
- Implemented SF.net RFE #1206997: No Javadoc for generated
checkParameters(). The generated checkParameters() method now has proper
documentation.
* Generation of server-side Java code:
- Fixed: Incorrect value for _descriptor in the runtime properties.
* Generated build file:
- Fixed bug #1205102: The API does not compile created with 1.2 DTDs if the
computer is offline.
- Classpath element added to locate DTDs if XINS is installed in a directory
that contain spaces.
* Build- and release-process:
- Fixed SF.net bug #1201267: Added the XML libraries needed to run XINS with
Java 1.3.1.
- Added the licence files for the XML libraries.
- Fixed the rundemo.bat was in the Unix line feed.
- Removed xalan and xml-apis from the release.
* General:
- Fixed SF.net bug #1199691: Calling 'xins' shell script should default to
target 'help'. Tested with bash 2.05 on Linux 2.4 and 2.6, with
bash 2.03 on Solaris 8 and with bash 2.05 on OS/X.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.2.5 FINAL:
* XINS/Java Client Framework:
- Fixed SF.net bug #1277256: the data element specified in the generated
CAPI request class was not forwarded to the XINSCallRequest object.
* Generation of server-side Java code:
- Fixed SF.net bug #1277255: Incorrect generated method if the request had a
data section element that could contain PCDATA.
_____________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.2.4 FINAL:
* Libraries:
- Updated xmlenc from 0.47 to 0.48. This fixes SF.net bug #1201368:
NoSuchFieldError for xmlenc on IBM Java 1.3/Linux.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.2.3 FINAL:
* XINS/Java Common Library:
- Fixed bug #1238197. The _float32 and _float64 types now properly support
non-positive numbers.
* Generation of server-side Java code:
- Fixed bug #1238721: Error when sub-elements in input data.
- Fixed bug #1203659: Element add method generated even if not needed.
- Fixed bug #1238249: Error when input data element attribute is not _text
type.
- Fixed bug #1238762: Element list method generated even if not needed.
* XINS/Java Server Framework:
- Implemented SF.net RFE #1236690. Logging message 3236 if the build version
is not set on the API package.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.2.2 FINAL:
* XINS/Java Server Framework:
- Implemented SF.net RFE #1188054: _InvalidResponse should generate ERROR on
server side. Added log entry 3501 for this.
Note that this SF.net RFE #1237524 is a duplicate of this RFE.
* XINS shell script:
- Fixed SF.net bug #1237446. The script now works correctly with Cygwin.
This has been tested with Cygwin 1.5.12 on Windows 2000.
- Implemented SF.net RFE #1234788: Allow quotes, double quotes and commas in
shell script.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.2.1 FINAL:
* XINS/Java Common Library:
- Fixed bug #1211277: XINS does not work with proxies.
- Fixed bug #1215589. The Perl5Matcher objects are no longer static as this
class is not thread safe.
* XINS/Java Server Framework:
- Fixed bug #1215589. The Perl5Matcher objects are no longer static as this
class is not thread safe.
* XINS/Java Client Framework:
- Fixed bug #1215589: Parameter name does not match pattern.
* Generation of client-side Java code:
- Fixed bug #1211447: Presence of mandatory Result Items not checked.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.2.0 FINAL:
* XINS/Java Common Library:
- Removed trace logs from the code.
* XINS/Java Server Framework:
- Removed the trace methods in the APIServlet class.
* XINS/Java Client Framework:
- Removed trace logs from the code.
* Generation of server-side Java code:
- Fixed: NullPointerException thrown when generated the Java class with
Java 1.4.1.
- Fixed bug #1208936: Erroneous non-assignments in XSLTCallingConvention
class.
* Generated build file:
- Fixed bug #1205102: The API does not compile created with 1.2 DTDs if the
computer is offline.
- Classpath element added to locate DTDs if XINS is installed in a directory
that contain spaces.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.2.0 RELEASE CANDIDATE 2:
* XINS/Java Common Library:
- Made tests for type classes Date and Timestamp compatible with Java 1.3.
Previously they used Java 1.4-specific functionality.
- Fixed SF.net bug #1201270: the run target works also if the computer is
not connected to Internet.
* XINS/Java Server Framework:
- Changed the MetaFunctionsTests to properly detect the Java version and
omit certain checks on Java versions prior to 1.4.
- Removed the trace methods in the APIServlet class.
* Generation of client-side Java code:
- Disabled CAPI compatibility test on Java 1.3, since it uses a CAPI JAR
file generated with XINS 1.1.0, which generates Java 1.4-specific byte
code.
* Generation of server-side Java code:
- Fixed: Incorrect value for _descriptor in the runtime properties.
* Build- and release-process:
- Fixed the rundemo.bat was in the Unix line feed.
* Documentation:
- Added release notes file in the release and linked it from the readme
file.
* General:
- Fixed SF.net bug #1199691: Calling 'xins' shell script should default to
target 'help'. Tested with bash 2.05 on Linux 2.4 and 2.6, with
bash 2.03 on Solaris 8 and with bash 2.05 on OS/X.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.2.0 RELEASE CANDIDATE 1:
* XINS/Java Common Library:
- Fixed SF.net bug #1195309: The Date format returned by Timestamp.value()
is incorrect. Improved the unit tests for the Timestamp class in the
process.
- Fixed various issues in the Date and Timestamp classes. Added several new
unit tests. Made the 'Value' inner classes implement Cloneable.
* XINS/Java Client Framework:
- Cleaned up some code in the InvalidRequestException class. Removed unused
private inner classes.
* Generation of server-side Java code:
- Fixed bug #1198829: Defined Types in Runtime properties behave
incorrectly.
* Build- and release-process:
- Fixed missing rundemo script files in the release.
- The xins-examples and xins-docs directory are now tagged when a release
is created.
* General:
- Fixed some Javadoc- and style-issues. Most were reported by Checkstyle.
- Fixed SF.net bug #1198372: XINS script fails on Solaris. Tested with bash
2.05 on Linux 2.4 and with bash 2.03 on Solaris 8.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.2.0 BETA 4:
* XINS/Java Common Library:
- Removed unused imports and unused variables.
- The size is no longer computed every tick() in the ExpiryFolder.
- Fixed bug in the HTTPServletContainer. It now correctly returns \r\n
instead of \n after the HTTP headers.
- Removed unused imports and variables.
- Refactored the ExpiryFolder to improve performance and remove some memory
leaks.
* XINS/Java Client Framework:
- Fixed SF.net bug #1194486: CAPI compatibility problem.
- Implemented RFE #1188052: Log message 2114 should be logged only once.
- Added getAPIName() to class AbstractCAPI.
- Implemented SF.net RFE #1188021: Log message 2114 should include API name.
- Removed unused imports and variables.
- Added a test that fails with an invalid result code.
* XINS/Java Server Framework:
- Fixed SF.net bug #1176211: WARN No appenders could be found for logger.
- Removed unused imports and variables.
- Improved trace logging in class APIServlet.
* Generated specification documentation:
- Implemented SF.net RFE #1190778: Link to detailed statistics from API
specdocs.
* Generated build file:
- Implemented RFE #1190978: Added the possibility to specify the port
for the server with the servlet.port parameter.
- Remove the generated file if any file in the specification has changed.
* Build- and release-process:
- Fixed missing build.properties for the demos.
- Improved Windows installer (including fix for bug #1189532.)
- Added rundemo script.
- Added JavaScript/AJAX example.
* Other:
- Fixed SF.net bug #1187914: Cannot pass arguments with the XINS command on
Unix. Changed the shell script to differentiate options and target
arguments.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.2.0 BETA 3:
* XINS/Java Common Library:
- Fixed incorrect path detection for HTTP GET requests in the
HTTPServletHandler.
- Fixed SF.net bug #1106065: Warning regarding response buffering.
- Added constructors to create a Date.value from a java.util.Date or a long.
- When an ExpiryStrategy is stopped, then all associated ExpiryFolder
objects are notified, so they may deinitialize. If an ExpiryFolder is used
after that, it throws an IllegalStateException on almost all operations.
- Added missing @since tags to Timestamp class and made some minor changes,
which should not affect the behavior.
* XINS/Java Client Framework:
- Added partial unit test for SF.net RFE #1115233: Show _InvalidRequest
details in exception message.
* XINS/Java Server Framework:
- Fixed SF.net bug #1187660: State change failed in APIServlet. This bug was
introduced after XINS 1.1.0.
- Minor improvements in APIServlet class. Mostly style.
- Fixed translations for log message 3403 so they are appropriate even if
the new number of seconds is 1.
- Logging API name in log message 3212.
- Changed level of log message 3235 (determined API name) from INFO to
DEBUG, the API name is already in message 3212.
- Changed level of log messages 3233 and 3234 (API does or does not use
Logdoc) from INFO to DEBUG.
* Generated build file:
- Fixed bug #1187658: The run- target will fail nicely if no
org.xins.server.config property is set.
* Build- and release-process:
- Fixed missing perl and php examples in the release.
* DTDs:
- Added 1.2 DTDs.
* Documentation:
- Improved README.html file.
* Tools:
- Various improvements for the Windows installer.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.2.0 BETA 2:
* XINS/Java Common Library:
- The HTTPServletHandler can contain several servlets.
- Fixed incorrect call to the HTTPServletHandler for the run target.
* XINS/Java Client Framework:
- Class UnsuccessfulXINSCallException now implements XINSCallResultData.
- Class UnacceptableResultXINSCallException is no longer final.
- Added class UnacceptableErrorCodeXINSCallException, derived from
UnacceptableErrorCodeXINSCallException.
- If an error code is received that starts with an underscore, but which is
unrecognized, then an UnacceptableErrorCodeXINSCallException is thrown,
instead of an UnsuccessfulXINSCallException.
* XINS/Java Server Framework:
- Translated some new logdoc messages to French.
* Generation of client-side Java code:
- Fixed SF.net bug #1183640: Detect unacceptable error code in CAPI. If the
server-side returns an error code that is not recognized as a result code
for the function, then an UnacceptableErrorCodeXINSCallException is
thrown.
Added a unit test case to check this.
- Fixed SF.net bug #1060861: IllegalArgumentException if output param is
required but null. Now if an output parameter is required but not set,
then the generated client-side code throws an
UnacceptableResultXINSCallException.
Added a unit test case to check this.
Bug #1182928 was a duplicate of this one.
* Logdoc:
- Fixed Logdoc DTDs were not loaded locally if the XINS directory contains
spaces.
- Fixed link to the local DTD for Log 1.1 was missing.
* Generated build file:
- Fixed a dependency problem. Now the java files for the server are not
regenerated if not needed.
* Build- and release-process:
- Added common-codec to the release.
* General:
- All Javadoc now links to the Java 1.4.2 API docs again, instead of to the
Java 1.3.1 API docs.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.2.0 BETA 1:
* XINS/Java Logdoc:
- Storing locale in UnsupportedLocaleException.
- Added UnsupportedLocaleError class. An instance of this class is now
thrown in case a required locale is unsupported, instead of a plain
java.lang.Error.
* XINS/Java Common Library:
- Removed the constraint package as it is no longer used.
- Slightly improved log message 1506: Quoting the response, but not the HTTP
status code.
- Implemented SF.net RFE #1145386: ProtectedList class should throw
IncorrectSecretKeyException. Adapted unit test cases.
- Improved Javadoc documentation for ProtectedPropertyReader class.
- The HTTPServletHandler now loads the external libraries that are not in
the ClassPath.
- The main method for the HTTPServletHandler is now in HTTPServletStarter.
- The Servlet hanlders can also load a Servlet by just passing the name of
the class.
* XINS/Java Client Framework:
- Improved logged message in case that an _InvalidRequest is returned.
- Improved Javadoc here and there.
* XINS/Java Server Framework:
- Improved error detection, logging and recovery in class APIServlet. Fixed
SF.net bug #1146371 "Distinguish caught exceptions", among other things.
* Generation of client-side Java code:
- Implemented SF.net RFE #1054504: One constant or class per error code.
- The parameters set in the generated Request object are now checked the
same way as they are in the generated code on the server side.
- Improved Javadoc here and there.
* Generation of server-side Java code:
- More sanity checking and logging of programming errors in the generated
.java file. Tested part of this with unit tests, too.
* Build- and release-process:
- The tests-ui, checkstyle and j2h targets no longer need the -lib lib
command-line option.
- Removed the certificate as it is not used.
* Libraries:
- Upgraded Jakarta Commons HttpClient from 3.0-rc1 to 3.0-rc2.
* Added Windows installer script.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.2.0 ALPHA 3:
* XINS/Java Common Library:
- Fixed SF.net bug #1063649 in class FileWatcher ("Change properties file
un- to readable: no effect.")
- Removed the org.xins.common.specs package, for now. It will probably be
re-introduced later.
- Added _url standard type.
- Added a toDate() method for the Date and Timestamp types.
- If the main() method is used to start the servlet container, the thread
accepting connections is not a daemon thread.
- Added new logProprammingError methods.
- The Java version returned has been changed from an object to a double
number.
- Added _descriptor type.
- Changed translations for log messages 1200 and 1201 to be correct for the
case where the number of seconds is 1.
- Changed the HttpServiceCaller to use the new common-net 1.3.0.
- Added a new mode for the servlet container.
- Implemented SF.net RFE #1176248. Timestamp.Value objects can now be
created from long values, Date objects and Calendar objects.
* XINS/Java Server Framework:
- Fixed SF.net bug #1163559: _InvalidResponse is not returned when the
response is invalid.
- Fixed SF.net bug #1181594: Error on change state in APIServlet.
- Added support for param-combo in the output section.
- The CallingConvention class now extends the Manageable class.
- Added a template cache system for the XSLT calling convention.
- The config file name is now path separator independent.
- Fixed problems related to the URIResolver of the XSLTCallingConvention.
- Added the possibility to disable the template cache for the
XSLTCallingConvention.
* Generation of server-side Java code:
- Code generated to check input and output parameters is now merged in a
single file.
- The generated code now checks also the attributes passed to the data
sections for the required parameters and for the invalid parameters.
- The xsl:variable and xsl:with-param element now uses the select
attribute whenever possible.
- Replaced some string variable with boolean variables.
- Fixed bug #1176265: NPE in generated .java when no elements
were passed to the data section.
- Fixed bug #1176214: Changing watch interval does not work.
- Fixed bug #1172457: The spedocs will fail if two elements have the same
name.
* Generation of client-side Java code:
- The xsl:variable and xsl:with-param element now uses the select
attribute whenever possible.
- Replaced some string variable with boolean variables.
- RFE #1146073 Warn if CAPI was built with different XINS version.
- The check that the Result class does not have an error code is done now
in the abstract class.
* Generated specification documentation:
- The multiplicity attribute is no longer supported.
- Fixed SF.net bug #1165828: Required parameters are not checked in the
examples.
- Fixed SF.net bug #1064480: Name for input/output-example is not checked.
- Required attributes are now check in the examples.
- Name for attribute-example is now checked.
- Checking that the corresponding file exists for each function, type and
result code defined in api.xml.
- Changed output slightly.
- The xsl:variable and xsl:with-param element now uses the select
attribute whenever possible.
- Replaced some string variable with boolean variables.
* Generated build file:
- Fixed a bug that prevented APIs using the old directory structure to
compile.
- Fixed a DTD caching problem.
- Fixed incompatibility with Java 1.4.0 and Java 1.5. XINS is now only
runtime-compatible with Java 1.3 and not compile-time.
- Added the possibility to have a build.properties for compilation
properties. The properties supported are: build.compiler,
build.deprecation and org.xins.server.config.
- Added support for the jikes compiler.
- Added run- target that runs your API implementation.
- Replace the "for-each api" loop with an apply-template.
- Fixed SF.net bug #1168317: Used another method to load local DTD files
that also works with directories containing spaces.
* DTD:
- RFE #1146131: Restrict param-combo types in 1.2 DTDs.
* Examples:
- Added .version.properties in the demo directory of the release.
- Added PHP and Perl examples for the client side. Contribution from
Janwillem Borleffs.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.2.0 ALPHA 2:
* General:
- Executed all unit tests on the Blackdown 1.4.1_01 JVM for Linux/x86. The
tests did NOT succeed. In fact, at least 2 problems were found:
. SF.net bug #1113862: IPAddressUtils.getLocalHost gets NPE on Blackdown
JVM 1.4.1. This problem was worked around since this was very easy to
implement.
. SF.net bug #1113881: 'ant -lib lib tests' hangs on Blackdown JVM 1.4.1
Then the tests were rerun using the Blackdown 1.4.2_01 for Linux/x86. On
this JVM the tests did succeed. No more time is spent on supporting the
Blackdown 1.4.1 JVM and this JVM is considered incompatible with XINS.
- Successfully ran all unit tests on the Sun 1.4.2_07 JVM for Linux/x86.
* Logdoc:
- Fixed bug 1109942: Added missing translation for log messages 1404-1407.
* XINS/Java Common Library:
- Fixed SF.net bug #1113843: Utils.getJavaVersion() does not work with
Blackdown JVM. It now properly recognizes the major Java version on
Blackdown JVMs. Tested this successfully on both 1.4.1_01 and 1.4.2_01.
- Fixed SF.net bug #1113862: IPAddressUtils.getLocalHost gets NPE on
Blackdown JVM 1.4.1. This problem was not really fixed, since the source
of the problem is in the Blackdown JVM self. It was worked around though.
- Implemented SF.net RE #1124698: Added isProtocolSupported(String) method
to class ServiceCaller.
- Changed the internal names of the standard types to start with an
underscore. E.g. "int32" is now "_int32".
- Changed HTTPServiceCaller to work with HttpClient 3.0 only. HttpClient 2.0
is now no longer supported.
- Added 'copyFrom' method to class ProtectedPropertyReader.
- Introduced IncorrectSecretKeyException class to be used by the
ProtectedPropertyReader and the ProtectedList classes so clients can
distinguish between secret key mismatches and other illegal argument
exceptions. The class is derived from class IllegalArgumentException to
retain backwards compatibility.
- Added tests for class ProtectedPropertyReader.
- Added crop(int) to class FastStringBuffer.
- Added class function list(String,Object[],int) to class CollectionUtils,
with unit tests.
- Added 2 additional constructors to class ProtectedList and improved the
Javadoc API documentation.
- Added getter for additional detailed information (called 'getDetail()') in
class TypeValueException.
- Added package org.xins.common.specs which provides an abstraction of a
XINS API specification.
- Added getClassName(Object) and getNameOfClass(Class) functions to class
Utils.
- Fixed the method fromString() of the _base64 standard type.
- Fixed the method toString(Object) of the _base64 standard type.
- Removed the org.xins.common.text.Base64 class. It was introduced in XINS
1.1.0 but already marked as deprecated and it had a note stating that it
could be removed at anytime.
- Added getProtocol() method to class TargetDescriptor (with unit tests).
- Changed ServiceCaller to support that the descriptor is null.
- Added no-arg HTTPServiceCaller constructor.
- Do not throw an exception if the buffer and the offset are nil in the
FastStringBuffer.
- Moved the Servlet container classes used for test directory to the
org.xins.common.servlet.container package.
- Added Logdoc to the servlet container.
- Improved handling of exception in the servlet container.
- Added the possibility to load the servlet from the WAR file even if
the classes and libraries are not in the classpath.
- Added the possibility to start the Servlet container from the command
line.
- Implemented SF.net RFE #1107386: Support HTTP/S in HTTPServiceCaller.
* XINS/Java Client Framework:
- Implemented SF.net RFE #1114846: Error code in
UnsuccessfulXINSCallException message.
- Reworked the framework around the UnsuccessfulXINSCallException class.
Removed the UnsuccessfulXINSCallExceptionFactory class and added quite a
few UnsuccessfulXINSCallException subclasses.
- Added no-arg XINSServiceCaller constructor.
- If available the version of the API is set in the manifest of the JAR
file.
- Implemented SF.net RFE #1107386: Support HTTP/S in XINSServiceCaller.
* XINS/Java Server Framework:
- Improved documentation and some small aspects of the implementation of
class FunctionRequest.
- Added CustomCallingConvention class.
- Made methods and classes that could be used by a custom calling convention
public.
- Added the HttpServletRequest as a parameter when creating the result
in the calling convention.
- If the function has not output parameters, getParameter() will return null.
- If available the version of the API is set in the manifest of the WAR file
and in the web.xml file. The _GetVersion meta function now returns the
version of the API.
- Added possibility to have comma separated list of functions for the
ACL permissions.
- Added the possibility to define the properties in the impl.xml file.
If defined a class is created. This class checks the properties and
provides methods to access the value of the properties.
- Added the init method for the CallingConvention. This method can be used
to initialize the calling convention with the data stored in the build
properties or the runtime properties.
- If the calling convention passed as parameter is the same as the default
one, do not create a new CallingConvention object.
- Added Java Servlet API version 2.4 to the supported implementation.
- Added XSLT calling convention.
* Generation of CAPI classes:
- Fixed SF.net bug #1110747: CAPI class Javadoc links to non-existent online
specs.
- Implemented SF.net RFE #1119902: CAPI Javadoc should only contain public
members.
- Implemented SF.net RFE #1120017: Generated Type class should include
Javadoc comments
- Completed implementation of RFE #1110484 (make CAPI call with request
object).
* Generated specification documentation:
- Added "Result code" in the header of the HTML pages.
- Activated the link to the API for types and result codes.
- Added the possibility to define the properties in the impl.xml file.
If defined a page containing the description of the properties is created.
* Generated build file:
- Added common-codec.jar to the classpath and in the generated war file.
- Slightly improved output of 'help' target.
- Added target 'javadoc-capis'.
* Generic XSLT files:
- Added 'javaclass_for_javatype' template to types.xslt. For a Java primary
data type it returns the fully-qualified name of the corresponding wrapper
class. E.g. for 'int' it returns 'java.lang.Integer'.
- Added two method in hungarian.xslt to translate a property name to
a well written Java variable name.
* Build- and release-process:
- Fixed SF.net bug #1113838: CAPI Javadoc does not link to XINS Javadoc
(package).
* Libraries:
- Updated Apache Jakarta Commons HttpClient from 3.0-beta1 to 3.0-rc1.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.2.0 ALPHA 1:
NOTE: This release is based on XINS 1.1.0-rc1.
* General:
- Changed all Java code and the tests so that the XINS code now executes on
Java 1.3 as well (SF.net RFE #1108205). All unit tests were tested
successfully on the following Java VMs:
. Sun Java 1.3.1_15 (Linux 2.6/x86)
. Sun Java 1.4.2_06 (Linux 2.6/x86)
. Sun Java 1.4.2_06 (Windows 2000/x86)
. Sun Java 1.5.0_01 (Linux 2.6/x86)
. Sun Java 1.6.0 Early Access, Jan 20 2005 (Linux 2.6/x86)
- Changed the xins shell script and the xins.bat batch file to pass the -lib
option to Ant to pass the XINS lib directory. This is required when using
Java 1.3. Otherwise it may not be able to find the proper XML/XSLT
libraries.
- Linking to Java 1.3 API docs instead of the Java 1.4 API docs.
* Logdoc:
- Deprecated the LogdocExceptionUtils class in favor of a new ExceptionUtils
class.
* XINS/Java Common Library:
- Fixed SF.net bug #1105761: ExpiryFolder constructor log message incorrect.
- The Base64 class has been deprecated and may be removed in coming
releases.
- Improved the accuracy and stability of the ExpiryFolder and ExpiryStrategy
classes. The tests have been extended a lot. They now also test the
addListener and removeListener methods and the listener callback. Improved
the logging in the ExpiryStrategy; added log messages 1404-1407.
- Changed ExceptionUtils class to be compatible with Java 1.3 (part of
SF.net RFE #1108205). Used the unit tests to confirm it still works
correctly under Java 1.4. Although it indeed compiles with Java 1.3 now,
the unit tests cannot be run with Java 1.3 yet.
- Replaced all reference to the Base64 class of the XINS Common library to
the Base64 class of the Apache Common Codec library.
- Deprecated the org.xins.common.ExceptionUtils class in favor of the
org.xins.logdoc.ExceptionUtils class.
correctly under Java 1.4.
- Added a Java version retrieval function to the Utils class.
- Implemented SF.net RFE #1107376: Added a unit test for socket time-outs in
the HTTPServiceCaller class.
- Added clear(Object) method to the ProtectedPropertyReader class.
- Added 'protected final void setCallConfig(CallConfig)' to the
ServiceCaller class. This allows the fallback call configuration on a
service caller to be set after construction.
- Added 'public final void setHTTPCallConfig(HTTPCallConfig)' and
'public final HTTPCallConfig getHTTPCallConfig()' methods to the
HTTPServiceCaller class.
* XINS/Java Client Framework:
- Fixed SF.net bug #1109810: Incorrect parsing of the returned XML.
- Changed access level of the setUnsuccessfulXINSCallExceptionFactory and
getUnsuccessfulXINSCallExceptionFactory methods in class XINSCallRequest
from public to package-private.
- Added methods to the AbstractCAPI class:
. public final XINSCallConfig configuration()
. public final void configure(XINSCallConfig)
- Added 'public final void setXINSCallConfig(XINSCallConfig)' and
'public final XINSCallConfig getXINSCallConfig()' methods to the
XINSServiceCaller class.
* XINS/Java Server Framework:
- Added support for custom calling conventions.
* Generated build file:
- Removed the dependencies from the classpath when compiling the types.
* Build and release process:
- Added -init-release in the dependencies to facilitate the making of a
release if a target fails.
- The build/testresults/log4j.log file is now created when executing the
test-ui target.
- Fixed the script to upload the Javadoc when creating a release.
This bug has been in XINS since XINS 1.1.0-alpha8.
- Set the target VM as 1.3 instead of 1.4 as part of the implementation of
Java 1.3 support (SF.net RFE #1108205).
- Set the tar task to handle long file names as GNU tar.
- Fixed SF.net bug #1109858: The source code is no longer copied to the
build directory for the javadoc or the j2h command. Only the package
target will copy the files to a new build/lf directory to unify the
newline characters.
- The clean target does not delete the file that are not regenerated in
the release anymore.
* Tests:
- Improved performance of tests. Starting server before any of the tests.
After all tests are run, the server is stopped.
- Showing standard output and standard error in the generated HTML page.
- Now logging the output to the console (so it is displayed in the HTML
page) instead of to a file.
* Libraries:
- Updated Apache Jakarta Commons HttpClient from 2.0.2 to 3.0-beta1.
- Updated Apache Jakarta Commons Net from 1.1.0 to 1.3.0.
- Added Apache Jakarta Commons Codec 1.3 (because it is a dependency for
HttpClient 3.0-beta1).
- Added xml-apis.jar and xercesImpl.jar from Xerces 2.6.2 (for use with Java
1.3)
- Added Xalan 2.6.0 (for use with Java 1.3).
* Generation of CAPI classes:
- Added proper @since tag (for XINS 1.1.0) on the generated create methods.
- Implemented RFE #1080066 (allow HTTP method to be specified for CAPI call)
and RFE #1080065 (allow unconditional fail-over to be specified for CAPI
call) and started implementation of RFE #1110484 (make CAPI call with
request object):
. Renamed function_to_java.xslt to function_to_result_java.xslt.
. Added function_to_request_java.xslt which produces a Request
object.
. Generating one call(Request) method per function in the
generated CAPI class.
. Generating one call(Request,XINSCallConfig) method per
function in the generated CAPI class.
- Implemented RFE #1110691: Deprecate create methods in CAPI class. These
have been replaced by equivalent constructors.
* Generated build file:
- Fixed SF.net bug #1110726: Invalid generated build.xml can't be removed
with 'xins clean'.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.1.0 FINAL:
* Generation of CAPI classes:
- Added proper @since tag on the generated create methods.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.1.0 RELEASE CANDIDATE 2:
* XINS/Java Common Library:
- The Base64 class has been deprecated and may be removed in coming
releases.
* Build and release process:
- Fixed the script to upload the Javadoc when creating a release.
This bug has been in XINS since XINS 1.1.0-alpha8.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.1.0 RELEASE CANDIDATE 1:
* XINS/Java Server Framework:
- Implemented SF.net RFE #1102205: Let Server use Common log messages.
Removed all logdoc entries in the range 30xx.
* XINS/Java Client Framework:
- Implemented SF.net RFE #1093174: Let Client use Common log messages.
Removed all logdoc entries in the range 20xx.
* XINS/Java Common Library:
- Fixed SF.net bug #1103793: ExpiryFolder accuracy low.
- Added a toHexString(char) method to the HexConverter class.
- Fixed various Checkstyle-reported issues.
* Logdoc:
- Improved transformation of XML to a Java String object for foreign
languages.
* Generated build file:
- Fixed SF.net bug #1102205: Directories with spaces are now supported
for Windows.
- Renamed property name for creating a new file to avoid conflict.
- Added an input example when creating a new function.
- Fixed missing DTD declaration for the 1.1 DTDs.
* Tests:
- All IPs are granted to access all functions, so that the the test
can run everywhere.
* DTD:
- Added missing DTD files for the 1.1 version.
* Changed "Copyright 2004" to "Copyright 2003-2005".
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.1.0 BETA 2:
* XINS/Java Common Library:
- Fixed SF.net bug #1101582: ElementParser parses bytes instead of chars.
The parse method in the ElementParser now accepts a Reader instead of a
byte[] array.
- Fixed SF.net bug #1099358: Num of descriptors in GroupDescriptor. A
GroupDescriptor now always contains at least 2 other descriptors.
- Added a ProtectedList class which implements a java.util.List where
elements can be added or removed only using the key passed in the
constructor.
This object is now used in the org.xins.common.xml.Element.
Typical impact on performance: Small.
* XINS/Java Client Framework:
- Hid some classes by changing the access level from public to
package-private:
. AbstractCAPICallRequest
. AbstractCAPIErrorCodeException
. BasicUnsuccessfulXINSCallExceptionFactory
. InternalErrorException
. InvalidRequestException
. InvalidResponseException
. UnsuccessfulXINSCallExceptionFactory
* XINS/Java Server Framework:
- Fixed SF.net bug #1100765: The API name is no longer mandatory.
It is scheduled for re-introduction in XINS 2.0.0.
- Fixed SF.net bug #1100805: Standard calling convention does not check
whether function name is null.
- Small style improvements.
- Added constructor to class InvalidRequestException that only accepts a
message and no cause exception.
* Generation of server-side Java code:
- Fixed SF.net bug #1100792: Conflicting duplicate names for input param
'ip'.
* Logdoc:
- Translated some English logs to French.
* Tests:
- Added performance tests. Execute the "perftests" ant target to execute the
test.
- Changed references to "localhost" to the IP address "127.0.0.1".
* Examples:
- Fixed incorrect DTD declaration.
* Build and release process:
- Added property "tests.deprecation" that controls whether deprecation
warnings should be displayed when compiling the unit tests.
* DTD:
- Restricted Logdoc translations file DTD to only allow exception-property
to refer to the class or the message.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.1.0 BETA 1:
* XINS/Java Common Library:
- Fixed SF.net bug #1099406: ProgrammingError should be RuntimeException.
Replaced class ProgrammingError with class ProgrammingException and
changed code accordingly.
* XINS/Java Client Framework:
- Impact of fix for SF.net bug #1099406: Class ProgrammingError was replaced
with class ProgrammingException. Changed the code accordingly.
- Implemented simple constraint validation framework.
* XINS/Java Server Framework:
- Fixed SF.net bug #1099473: Pattern for incoming parameters breaks
compatibility. The change has been reverted. It is scheduled for
re-introduction in XINS 2.0.0.
- Impact of fix for SF.net bug #1099406: Class ProgrammingError was replaced
with class ProgrammingException. Changed the code accordingly.
- Only the "_function" parameter is supported when using either the standard
or the XML calling convention. The "function" parameter is treated as a
normal parameter.
- The XML is first generated on a StringWriter and its content is sent to
the Servlet PrintWriter afterwards.
Typical impact on performance: Small to Medium.
* Build and release process:
- The Java2HTML pages are now uploaded in a TAR GZ file.
* Generated build file:
- Improved the create-api and create-function targets.
- The create-api target invokes the create-function target as APIs must have
at least one function.
* Build and release process:
- Added the target "tests-ui" to run the unit tests in a graphical
environment.
- Fixed: The XINS protocol documentation was not included in the release.
- Added the Ant script for NetBeans 4 to the demo directory.
* Libraries:
- Updated xmlenc from 0.45 to 0.47, which should result in a performance
improvement.
Typical impact on performance: Small.
* Documentation:
- Added chapter about the integration of XINS in NetBeans 4.0.
* Examples:
- Fixed TestMyFunction example.
- The build.xml is to compile and run the examples, an appart script file
nbbuild.xml has been created for using XINS with NetBeans 4.0.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.1.0 ALPHA 8:
* Logdoc:
- The missing accesslevel variable problem has been fixed. This bug has been
in XINS since version 1.1.0 alpha 6.
* XINS/Java Common Library:
- Added tests for class PropertyReaderUtils.
- Added toString class function in PropertyReaderUtils.
- Added class CollectionUtils with one class function called "list". This
function converts an Iterator to an ArrayList.
- Improved tests for class HTTPServiceCaller.
- Set the unused values to null in the HTTPServiceCaller after poping the
diagnotisc context identifier.
- Dispose the variables of the CallExecutor after getting the HTTP result.
* XINS/Java Server Framework:
- Changed some classes to use the Common log messages for programming
errors.
- Moved some common functionality from the CallingConvention subclasses up
to class CallingConvention self. The calling conventions now behave the
same with regard to the determination of the function name. If the
function name is specified both in the paramter "_function" and in the
parameter "function", then both must be the same. Otherwise the request is
considered invalid.
All incoming parameters that do not match the pattern "[a-z][a-z0-9_]*"
(without the quotes) are considered ignorable and will not be sent down to
the function.
- If an access rule file contains itself, the parsing will fail.
* Generated build file:
- Added the type_1_1.dtd file to the DTD catalog.
* Documentation:
- Added the documentation about the XINS protocol to the release.
- Added the new features of XINS 1.1 to the User Guide.
* Tests:
- Added new tests for the base64 type, the param combos and the input data
sections.
- Adapted the framework to facilitate the testing of the XML calling
convention.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.1.0 ALPHA 7:
* XINS/Java Common Library:
- Added tests for the ExpiryStrategy class. This revealed a bug which caused
the slot count to be incorrect if the time-out is not a multiple of the
precision.
- Changed the ExpiryStrategy to use weak references to the ExpiryFolder
instances instead of strong references.
- Marked class Doorman as deprecated. The ExpiryFolder implementation no
longer uses a Doorman but uses synchronized sections instead. Effictively,
this fixes the following SF.net bugs:
. #1089007: Memory leak in Doorman
. #1089086: Programming error in ExpiryStrategy / Doorman
. #1089597: Time-outs while calling Doorman.enterAsWriter()
. #1089600: Time-outs while calling Doorman.enterAsReader()
- ExpiryFolder now has a constructor that just takes a name and an
ExpiryStrategy. The old constructor (which accepted a 'strict' flag and a
maximum queue wait time) has been deprecated.
- Fixed various Checkstyle-reported issues.
- Added EMPTY_PROPERTY_READER class field in class PropertyReaderUtils.
- Changed HTTPCallRequest.getParameters() so it never returns null anymore.
This helps to avoid NullPointerExceptions.
* XINS/Java Client Framework:
- Fixed various Checkstyle-reported issues.
* XINS/Java Server Framework:
- Fixed various Checkstyle-reported issues.
- Slightly improved the exception handling in class APIServlet.
* Build and release process:
- Generated Javadoc API docs now link to Servlet 2.4 API docs at
xins.sourceforge.net. Previously they linked to Servlet 2.3 API docs at
java.sun.com.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.1.0 ALPHA 6:
* Logdoc:
- Fixed en_US translation of log 3210, 3216, 3223, 3412, 3419 and 3424 to
include the reason.
- Fixed bug #1088500: the logdoc element set in impl.xml has now an
accesslevel attribute.
- Added support for exception-property elements in translation definition
documents. Had to add a new version of the DTD for this.
* XINS/Java Common Library:
- Fixed SF.net bug #1089602: Message for programming error in Perl5Matcher
incorrect.
- The diagnostic context identifier is removed after being poped
otherwise the thread stays in memory.
- Reset some variables after the HTTP call, so that the variables can be
garbage collected.
- Improved log entries 1050, 1051 and 1052. Including much more information
for the reporting programming errors and unexpected exceptions.
- Added Utils class.
* XINS/Java Client Framework:
- Sending down _convention=_xins-std with each call.
* XINS/Java Server Framework:
- Applied a lot of small improvements to the APIServlet class in terms of
documentation, exception handling, logging, etc.
- Fixed SF.net bug #1091683: Log message 3213 now correctly logs the class
name of the Manageable object that is bootstrapping.
- Added support for the XINS XML calling convention (_xins-xml).
- Changed NoSuchFunctionException so it no longer supports the function name
to be null, since this is now handled in the CallingConvention.
* Libraries:
- Updated xmlenc from 0.45 to 0.46.
* Generation of server-side Java code:
- Fixed the parameter name set in the web.xml file used for the calling
convention to the correct value.
* Generated test forms:
- Sending down _convention=_xins-std with each call.
* Generated specification documentation:
- Sending down _convention=_xins-std with calls to _GetVersion,
_GetStatistics and _GetSettings.
* Generation of server-side Java code:
- Fixed bug #1089121: The exclusive-or param-combo did not work properly.
* Build and release process:
- Supporting 'no-upload' property. See 'ant help'.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.1.0 ALPHA 5:
* XINS/Java Common Library:
- Fixed SF.net bug #1065083: No fatal errors at init for malformed URLs.
- Fixed SF.net bug #1079069. The first line of the class description was:
"Abstractgion of a manageanble object". Fixed those 2 typos.
- Changed some classes to throw a ProgrammingError instead of an Error, if
appropriate.
- Extended tests in ServiceCaller class to make sure the implementation is
implementing the correct methods.
- Moved some unit tests for org.xins.common packages from
org.xins.tests.common.util to org.xins.tests.common.
- Extended test set for class TargetDescriptor.
- Changed pattern: removed obsolete escapes; changed 0-9 range into \d;
changed [a-zA-Z] range into [a-z], using the
Perl5Compiler.CASE_INSENSITIVE_MASK in the call to the
Perl5Compiler.compile() method instead to enable case-insensitive matches.
* XINS/Java Client Framework:
- Changed some classes to throw a ProgrammingError instead of an Error, if
appropriate.
- Made some preparations for implementing SF.net RFE #1054504:
- changed class UnsuccessfulXINSCallException to non-final, although all
methods remain final;
- added UnsuccessfulXINSCallException subclasses:
. AbstractCAPIErrorCodeException;
. InternalErrorException;
. InvalidRequestException;
. InvalidResponseException.
- added UnsuccessfulXINSCallExceptionFactory class.
- added BasicUnsuccessfulXINSCallExceptionFactory class, extends
UnsuccessfulXINSCallExceptionFactory.
- changed XINSServiceCaller to use an UnsuccessfulXINSCallExceptionFactory
to create UnsuccessfulXINSCallException instances, added a getter and a
setter for this;
[ work in progress, one AbstractCAPIErrorCodeException subclass needs to
be generated per error code, an UnsuccessfulXINSCallExceptionFactory
subclass needs to be generated and the CAPI class needs to create the
factory and set it on the XINSServiceCaller ]
* XINS/Java Server Framework:
- If the org.xins.server.config is not set as a system property, the server
will also try to get the org.xins.server.config from the bootstrap
properties.
- Fixed bug #1076638: The generated context ID was not conform to the
architect group recommendation.
- The server classes now use the org.xins.common.xml.Element class instead
of the deprecated org.xins.server.Element class.
- Added calling convention which allows to specify in which format the data
should be received and returned. Two implementation are provided,
"xins-std" and "xins-old".
* Logdoc:
- The parameter types are now defined in the DTD.
- Optimized performance: the Logger object is looked up only once, the first
time that the entry is logged.
Typical impact on performance: Major.
* Build and release process:
- Fixed bug #1078313: Compilation and Javadoc is done from the source code.
Compilation and Javadoc generation will be faster.
* Generated build file:
- Fixed bug #1078317: Compilation and Javadoc of the API is now done using
the files of the impl directory without copying them to the build
directory. This will increase compilation and javadoc generation
performances.
* Generation of server-side Java code:
- An object is created for the data input parameter.
* Generation of CAPI classes:
- Optimized performance: Made SECRET_KEY a class field.
Typical impact on performance: Mimimal.
* Build and release process:
- Fixed bug #1078313: Compilation and Javadoc is done from the source code.
Compilation and Javadoc generation will be faster.
- Fixed netbeans-debug target.
* Libraries
- Updated xmlenc from 0.44 to 0.45, which should result in a performance
improvement.
Typical impact on performance: Medium.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.1.0 ALPHA 4:
* XINS/Java Common Library:
- Added class CallConfig in package org.xins.common.service. Objects of this
type specify certain aspects of how a call is executed. For example, for
an HTTP service caller, a CallConfig object could specify what HTTP method
(GET, POST, etc.) to use.
- Added HTTPCallConfig class (derives from CallConfig).
- Changed ServiceCaller to work with CallConfig objects. Some members have
been deprecated in favour of newer ones that work with CallConfig objects.
Greatly improved the documentation in the ServiceCaller class [work in
progress].
- Added UnsupportedProtocolException in org.xins.common.service package.
Documented in ServiceCaller class that this exception should be thrown by
ServiceCaller subclasses if a TargetDescriptor with an unsupported
protocol is passed.
- Changed TargetDescriptor to support capitals in the protocol part of the
URL. This fixes SF.net bug #1075248.
- Added ProgrammingError class. An instance of this class should be thrown
when appropriate, especially after any of the log messages 1050, 1052,
2050, 2052, 3050 and 3052 [work in progress].
* XINS/Java Client Framework:
- Fixed SF.net bug #1071731: UnacceptableResultXINSCallException constructor
threw a NullPointerException instead of the documented
IllegalArgumentException.
- The AbstractCAPICallResult class adds the following methods:
. long duration() -- Returns the call duration, in
milliseconds.
. CallExceptionList exceptions() -- Returns the list of
CallException instances.
. TargetDescriptor succeededTarget() -- Returns the target for which the
call succeeded.
- Refactored the XINSCallRequest and added new setter methods.
- Added possibility to have a data element as input.
- Removed the constructor that accepts a XINSServiceCaller from the
AbstractCAPI class. This constructor was added in XINS 1.1.0-alpha3. Added
a new constructor that accepts a Descriptor and a XINSCallConfig object
instead. The other constructor (which accepts a Descriptor only) remains
deprecated. There should still be no effect, since the constructors are
considered internal to XINS.
- Added XINSCallConfig class (derives from CallConfig).
- Removed the XINSServiceCaller constructor that accepts an HTTPMethod and
replaced it by one that accepts a XINSCallConfig object. The removed
constructor was added in XINS 1.1.0-alpha3.
* XINS/Java Server Framework:
- The _GetStatistics meta-function now supports statistics per error code.
To retrieve these details, pass "detailed=true" to this function.
- If the bootstrap of the API failed, then the APIServlet now throws a
ServletException that contains a reference to the cause exception, for
improved exception handling. Also, if an InvalidPropertyValueException is
thrown during this bootstrap process, the reason is now logged as well.
- Added the possibility to have a data element as input.
* Generated CAPI classes:
- All call methods now return a function result object, never void. This
change is backwards compatible with XINS 1.0.
- All function result objects now contain the call duration, the exceptions
(if any) and a link to the succeeded target. See the changes for the
AbstractCAPICallResult class for details.
- Implemented SF.net RFE #1071756: The MANIFEST.MF file in generated CAPI
JAR file now contains the version of XINS used to generate the JAR file.
- Added the possibility to have a data element as input.
- The generated CAPI classes now no longer offers a constructor that takes a
XINSServiceCaller. This constructor was introduced in XINS 1.1.0-alpha3.
Instead, a factory method is introduced. There are 2 forms:
. public static final CAPI create(PropertyReader, String, XINSCallConfig)
. public static final CAPI create(PropertyReader, String)
These methods construct a CAPI instance based on a set of properties and
the name of an API. The optional XINSCallConfig object can be used to
configure the XINS service caller.
* Generation of server-side Java code:
- The MANIFEST.MF file in generated WAR file now contains the version of
XINS used to generate the WAR file.
- Added the possibility to have a data element as input.
* Generated Javadoc now lists the groups of packages in the following order:
- Logdoc, Common, Client and finally Server. This should now generally be
applied as the preferred order.
* Generation of specification documentation:
- The num attribute for the examples is now optional.
- Added the possibility to have a data element as input.
- Added the input-data-example element to specify a data section example
in the input.
- Renamed data-example element to output-data-example element. The old
data-example is still supported for compatibility issues.
* DTD:
- Remove element or attribute checking already done by the DTD.
- Added type_1_1.dtd that contains the new types float32, float64, and
base64.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.1.0 ALPHA 3:
* XINS/Java Common Library
- Added class function quote(Object) to class TextUtils.
* XINS/Java Client Framework:
- Fixed SF.net bug #1069436: No function name included in the description of
a XINSCallRequest object and consequently in the message for
CallExceptions for a XINS call request. Improved the XINSCallRequest
description string.
- The AbstractCAPI class now adds a constructor that accepts a
XINSServiceCaller. The other constructor, which accepts a Descriptor, has
been deprecated. The effect is minimal, since the constructors are
considered internal to XINS.
- A XINSCallRequest does not have to specify an HTTP method anymore. If it
is not specified, then the XINSServiceCaller determines what HTTP method
to use. Consequently, an XINSServiceCaller object now has an HTTPMethod
object associated with it.
- Added tests for class XINSCallRequest.
* XINS/Java Server Framework:
- Added the possibility to point to an ACL file in the ACL runtime property.
* Generated CAPI classes:
- The generated CAPI classes now offer a constructor that takes a
XINSServiceCaller.
* Other:
- Removed src/ant/transform.xml which was no longer used since XINS 0.165.
- Slightly improved and cleaned the 'xins' shell script. Now the '-version'
and the 'version' argument both work the same. Also, the shell script now
calls Ant only once. Then Ant first does the transformation from
xins-project.xml to build.xml and then executes the generated build.xml
directly.
Note that the xins.bat batch file has not been changed yet.
- Linking to Apache Ant 1.6.2 API docs at xins.sourceforge.net, since they
are not available at apache.org.
- Improved performance of release process greatly. Biggest gain is made by
sending a compressed archive of files to the web server instead of all
individual files separately.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.1.0 ALPHA 2:
* XINS/Java Server Framework:
- If no build version is provided, just set a warning in the log instead of
throwing a exception.
* XINS/Java Client Framework:
- Improved XINSCallResultParser with regard to logging, documentation,
memory use and performance.
- Changed DataElement class to support namespaces. Some methods have been
deprecated in favor of new ones.
* Generation of server-side Java code:
- Import type classes for the generated implementation class.
* Generation of specification documentation:
- Added support for multiple elements in the output data section.
* Logdoc:
- Added French locale.
- XML files are now in UTF-8 encoding format.
- Fixed small error on the English translation of the server side logdoc.
- Translation bundle are now possible on multiple lines.
* Libraries
- Upgraded Log4J from 1.2.6 to 1.2.9.
- Upgraded Jakarta Commons Logging from 1.0.3 to 1.0.4.
- Upgraded xmlenc from 0.43 to 0.44.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.1.0 ALPHA 1:
NOTE: This release is based on XINS 1.0.0-beta11.
* XINS/Java Client Framework:
- Fixed SF.net bug #1063699: Log if call fails on error code. The log
message 2112 was already defined for this purpose, but it was just not
used in the code.
- Fixed SF.net bug #1063672 (XINS call logging: Only first failure is
logged). Each individual failure is now logged, per target.
- Fixed bug #1063818: XINSResultParser fails if spaces exist between XML
elements.
- Fixed SF.net bug #1063785: Double spaces in description of a
XINSCallRequest.
- Removed deprecated methods from class DataElement:
. public Iterator getChildren()
. public Iterator getChildren(String name)
Changed the tests accordingly.
- Removed class field SERVICE_DESCRIPTOR_TYPE that was deprecated since XINS
1.0.0-beta6.
- Removed log message which previously had the ID 2101, since it did not add
any information. Previously it was logged right after a call was
performed, whether it was successful or not. Replaced it by a log message
that indicates that a successful XINS result was received. This message
previously had ID 2111, but it was never actually logged. Now it is, but
on 2101. The ID 2111 is now used for a new log message for unexpected
exceptions caught while calling the XINS service.
- Removed log message with ID 2107 (XINS result received, status code is
considered acceptable) since it not considered useful.
- Now actually logging message 2109 (Unrecognized I/O error while calling
XINS service).
- Unified translations in the 21xx range.
- Changed level of the following log messages to WARNING:
. 2102 (was INFO);
. 2103 (was INFO);
. 2104 (was INFO);
. 2105 (was INFO);
. 2106 (was INFO);
. 2108 (was INFO);
. 2109 (was NOTICE);
. 2110 (was NOTICE);
. 2111 (was INFO);
. 2112 (was INFO).
- Added log message 2113: XINS call request completely failed.
- Changed log messages 2200 and 2206 to include namespace.
- Improved XINSCallResultParser behavior. Logging is improved and the parser
is now XML Namespaces-aware.
* XINS/Java Server Framework:
- Fixed bug #1036854: Reset logging subsystem when reloading.
- If the "org.xins.server.config.reload" is zero the FileWatcher won't be
started.
- Added _ReloadProperties meta function.
- Changed the way the _GetSettings meta-function retrieves the system
properties. It now succeeds without throwing an exception even if a
SecurityManager denies access to system properties.
This fixes an issue with the integration with NetBeans 4.0-beta2.
- Slightly changed exception handling in bootstrapping code in API class.
The behavior should remain the same, though.
* XINS/Java Common Library:
- Added new types Float32 and Float64.
- Added new type Base64.
- Added a new Base64 class that perform base 64 encoding and decoding.
- Changed the level of all Logdoc messages in the 'service' group to DEBUG.
Proper logging is the responsibility of the ServiceCaller subclass and
corresponding classes.
- Changed UnexpectedExceptionCallException constructor: The 'cause' argument
is now mandatory.
- Changed FileWatcher class: Logging message 1052 each time a callback
method throws an exception. The exception is still ignored, as before.
- Changed HTTPServiceCaller class: Logging message 1052 when
HttpMethod.releaseConnection() throws an exception. The exception is still
ignored, as before.
- Changed TimeOutController class: Logging message 1052 when
Thread.join(int) throws an InterruptedException. The exception is still
ignored, as before.
* Generated CAPI classes:
- Fixed bug #1061692: A NullPointerException was thrown when using
Java 1.4.0 or Java 1.4.1.
* Generation of specification documentation:
- Fixed bug #1061692: A NullPointerException was thrown when using
Java 1.4.0 or Java 1.4.1.
- Fixed bug #1064487: The function name is not written in the examples.
* Generation of server-side Java code:
- Fixed bug #1061692: A NullPointerException was thrown when using
Java 1.4.0 or Java 1.4.1.
- Fixed bug #1063006: log.xml with alpha DTD fails if no server reachable.
- The xins-client.jar file is now also included in the generated war file.
* Generation of types Java code:
- Fixed bug #1061692: A NullPointerException was thrown when using
Java 1.4.0 or Java 1.4.1.
- Added new types float32 and float64.
- Added new type base64.
- If the type is not specified '_text' is used as default.
* Logdoc:
- Added new types float32 and float64.
* Javadoc
- Changed URL at the bottom of the pages to http://www.xins.org.
* Build and release process:
- Adapted the release process to the new XINS version format.
- Added netbeans-debug task.
- Disabled optimization for javac.
* Libraries:
- Updated Apache Jakarta Commons HttpClient from 2.0.1 to 2.0.2.
* Added support for the -version argument for the xins commands.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.0.1 FINAL:
* Tests
- The unknownFunction and unknownMetaFunction tests used to take 5 seconds.
This is fixed.
* XINS/Java Common Library:
- Set the unused values to null in the HTTPServiceCaller after popping the
diagnostic context identifier.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.0.1 RELEASE CANDIDATE 3:
* XINS/Java Common Library:
- Fixed a bug in the ExpiryStrategy class, which caused the slot count to be
incorrect if the time-out is not a multiple of the precision.
- Changed the ExpiryStrategy to use weak references to the ExpiryFolder
instances instead of strong references.
- Marked class Doorman as deprecated. The ExpiryFolder implementation no
longer uses a Doorman but uses synchronized sections instead. Effectively,
this fixes the following SF.net bugs:
. #1089007: Memory leak in Doorman
. #1089086: Programming error in ExpiryStrategy / Doorman
. #1089597: Time-outs while calling Doorman.enterAsWriter()
. #1089600: Time-outs while calling Doorman.enterAsReader()
- ExpiryFolder now has a constructor that just takes a name and an
ExpiryStrategy. The old constructor (which accepted a 'strict' flag and a
maximum queue wait time) has been deprecated.
* Build and release process:
- Added 'netbeans-debug' target in build.xml file
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.0.1 RELEASE CANDIDATE 2:
* XINS/Java Server Framework:
- No longer determining function name in API class _again_, but rather
pasing the FunctionRequest object from the APIServlet to the API. This
fixes the problem that XINS 1.0.1-rc1 only accepts a call if both
_function and function are specified.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.0.1 RELEASE CANDIDATE 1:
* XINS/Java Common:
- The diagnostic context identifier is removed after being popped
otherwise the thread stays in memory.
- Reset some variables after the HTTP call, so that the variables can be
garbage collected. This should reduce the suspected memory leak.
* XINS/Java Server Framework:
- Added NDC.remove() after popping the diagnostic context identifier for the
servlet.
* Generated specification documentation:
- Sending down _convention=_xins-std with calls to _GetVersion,
_GetStatistics and _GetSettings.
* Generation of server-side Java code:
- Fixed the parameter name set in the web.xml file used for the calling
convention to the correct value.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.0.1 BETA 2:
* XINS/Java Server Framework:
- Added support for calling conventions. By default the "_xins-std" calling
convention (which is compatible with XINS 1.0.0) is used. However it can
be overridden in the impl.xml file by setting the property
org.xins.server.calling.convention to "_xins-old". And this one can again
be overridden by passing "_convention=_xins-std" with a call request.
- Improved logdoc:
- changed entry 3210, added the reason for an invalid property value at
bootstrap;
- changed entry 3412, added the reason for an invalid property value at
initialization;
- added entry 3230, regarding a security exception while retrieving the
runtime properties file location;
- changed entry 3300, regarding initializing the logging subsystem, now
including the config file name.
- Some minor improvements in the API servlet regarding state handling,
exception reporting, logging, etc.
* XINS/Java Client Framework:
- Sending down "_convention=_xins-std" with each call request.
* Generated test forms:
- Sending down "_convention=_xins-std" with each call request.
* Libraries:
- Updated xmlenc from 0.43 to 0.46 to improve performance.
Typical impact on performance: Medium.
- Updated Apache Jakarta Commons HttpClient from 2.0.1 to 2.0.2.
Typical impact on performance: Unknown.
* Logdoc:
- Optimized performance: the Logger object is looked up only once, the first
time that the entry is logged.
Typical impact on performance: Major.
* DTD:
- Added the calling-convention element to api_1_0_alpha.dtd and
impl_1_0.dtd.
______________________________________________________________________________
CHANGES INTRODUCED IN XINS 1.0.1 BETA 1:
* XINS/Java Server Framework:
- Fixed SF.net bug #1076638: The generated diagnostic context ID did not
conform to the Wanadoo NL Architect Group recommendation. It does now.
- When a function is called, the element now contains a "success"
attribute which is set to "false" if there is an error code and to "true"
if there is none.
Also, if there is an error code, it is not only put in the "errorcode"
attribute, but also in the "code" attribute.
This is to improve compatibility with XINS 0.130 and XINS 0.168, which are
still used in production systems.