You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by re...@apache.org on 2014/12/17 21:18:22 UTC

svn commit: r1646331 [2/3] - in /commons/sandbox/rdf/trunk: ./ src/ src/changes/ src/main/ src/main/assembly/ src/main/java/ src/main/java/org/ src/main/java/org/apache/ src/main/java/org/apache/commons/ src/main/java/org/apache/commons/rdf/ src/main/j...

Added: commons/sandbox/rdf/trunk/src/changes/changes.xml
URL: http://svn.apache.org/viewvc/commons/sandbox/rdf/trunk/src/changes/changes.xml?rev=1646331&view=auto
==============================================================================
--- commons/sandbox/rdf/trunk/src/changes/changes.xml (added)
+++ commons/sandbox/rdf/trunk/src/changes/changes.xml Wed Dec 17 20:18:21 2014
@@ -0,0 +1,1323 @@
+<?xml version="1.0"?>
+<!--
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+-->
+<!--
+This file is also used by the maven-changes-plugin to generate the release notes.
+Useful ways of finding items to add to this file are:
+
+1.  Add items when you fix a bug or add a feature (this makes the
+release process easy :-).
+
+2.  Do a JIRA search for tickets closed since the previous release.
+
+3.  Use the report generated by the maven-changelog-plugin to see all
+SVN commits. TBA how to use this with SVN.
+
+To generate the release notes from this file:
+
+mvn changes:announcement-generate -Prelease-notes [-Dchanges.version=nnn]
+
+then tweak the formatting if necessary
+and commit
+
+The <action> type attribute can be add,update,fix,remove.
+-->
+
+<document>
+    <properties>
+        <title>Changes</title>
+        <author email="dev@commons.apache.org">Apache Commons developers</author>
+    </properties>
+
+    <!-- NOTE:
+    The description below is specially formatted so as to improve the layout of the generated release notes:
+    The parsing process removes all line feeds, replacing them with a single space.
+    The Velocity template in resources/templates has been enhanced to replace pairs of adjacent spaces
+    with a new-line in the release notes. (These spaces are ignored when displaying HTML).
+    If the output is not quite correct, check for invisible trailing spaces!
+
+    N.B. The release notes template groups actions by type, and only extracts data for the current release.
+    The changes report outputs actions in the order they appear in this file.
+
+    To regenerate the release notes:
+    mvn changes:announcement-generate -Prelease-notes [-Dchanges.version=nnn]
+
+    Defining changes.version allows one to create the RN without first removing the SNAPSHOT suffix.
+     -->
+
+    <body>
+        <release version="3.4" date="2014-01-??" description="
+This is mainly a bug-fix release. See further details below.
+  Notable additions:
+  IMAPExportMbox (example app) allows IMAP folders to be exported into an mbox file.
+  This is the inverse of the IMAPImportMbox example added previously
+        ">
+            <action issue="NET-528" type="add" dev="sebb">
+            FTPListParseEngine does not provide access to raw responses
+            </action>
+            <action issue="NET-565" type="add" dev="sebb">
+            Add FTPClient method to return an FTPFile from an MDTM command
+            </action>
+            <action issue="NET-564" type="update" dev="sebb">
+            FTPFile.toFormattedString - allow specification of TimeZone for display
+            </action>
+            <action issue="NET-562" type="update" dev="sebb">
+            FTPFile.toFormattedString should print only signficant parts of the parsed date
+            </action>
+            <action issue="NET-563" type="fix" dev="sebb">
+            MLSxEntryParser needs test cases; parsing is too lax
+            </action>
+            <action issue="NET-561" type="fix" dev="sebb">
+            FTPFile.toFormattedString prints user and group in wrong order
+            </action>
+            <action issue="NET-544" type="fix" dev="sebb" due-to="Olivier Queyrut ">
+            FTPClient.initiateListParsing does not correctly check if parserKey was cached
+            </action>
+            <action issue="NET-554" type="update" dev="sebb">
+            Simplify TelnetOptionHandler class hierarchy
+            </action>
+            <action issue="NET-558" type="fix" dev="sebb" due-to="Ralph Becker">
+            FTPClient.getModificationTime(filename) returns complete received line including response code
+            </action>
+            <action issue="NET-556" type="update" dev="sebb" due-to="Andy Rosa">
+            Make SubnetInfo.isInRange(int) public
+            </action>
+            <action issue="NET-550" type="fix" dev="sebb" due-to="Geoffrey Hardy">
+            Default FTPClient bufferSize results in very slow retrieve transfers
+            Fix code in Util#copyStream (also copyReader) that failed to use the proper default for buffer size 0
+            </action>
+            <action issue="NET-551" type="fix" dev="sebb">
+            Util copyReader calls CopyStreamListener.bytesTransferred with the incorrect value for bytesTransferred
+            </action>
+            <action type="update" dev="sebb">
+            Added control character processing to TelnetClientExample
+            </action>
+            <action issue="NET-547" type="update" dev="sebb" due-to="Fabio Scippacercola">
+            There is a lack of documentation regarding setControlKeepAliveTimeout
+            </action>
+            <action issue="NET-549" type="fix" dev="sebb" due-to="Pradeep Natarajan">
+            Telnet does not convert LF to CRLF in ASCII mode
+            </action>
+            <action issue="NET-543" type="fix" dev="sebb" due-to="Ferry Huberts">
+            telnet: spy read EOL is reversed
+            </action>
+            <action issue="NET-540" type="add" dev="sebb">
+            Article#printThread should have option to use any PrintStream
+            </action>
+            <action issue="NET-539" type="fix" dev="sebb">
+            NPE if Threader.thread invoked with empty list or with null array
+            </action>
+            <action issue="NET-536" type="add" dev="sebb">
+            IMAP FETCH example
+            IMAPExportMbox can export selected nessages from an IMAP folder
+            </action>
+            <action issue="NET-535" type="add" dev="sebb">
+            IMAP FETCH can overflow reply buffer; provide for partial responses
+            </action>
+            <action issue="NET-534" type="update" dev="sebb">
+            Unnecesssary call to getReplyString() if no listeners configured
+            </action>
+            <action issue="NET-530" type="fix" dev="sebb" due-to="fish ship">
+            input parameter of org.apache.commons.net.ftp.FTP.__getReply(boolean) is not used
+            </action>
+            <action issue="NET-529" type="fix" dev="sebb" due-to="Putinas Piliponis">
+            SubnetUtils throws exception on valid input
+            </action>
+            <action issue="NET-527" type="add" dev="sebb" due-to="jason mathews">
+            Add SimpleNTPServer as example and for testing
+            </action>
+            <action issue="NET-516" type="fix" dev="sebb" due-to="Asha K S &amp; pavan">
+            parser problem occurs if the filename contains one or more characters of which the second byte of Shift-JIS code is 0x85
+            Fix NT parser
+            </action>
+            <action type="update" dev="sebb">
+            Added control encoding option to FTPClientExample
+            </action>
+            <action issue="NET-526" type="update" dev="sebb" due-to="Jason Mathews, MITRE Corp">
+            Added missing set methods on NTP class and interface
+            </action>
+            <action issue="NET-526" type="update" dev="sebb">
+            Avoid greedy matches within a regex
+            </action>
+            <action issue="NET-520" type="fix" dev="sebb">
+            SubnetUtils("0.0.0.0/0") does not behave as expected
+            Fixed range checking so network and broadcast addresses are treated as unsigned ints
+            </action>
+            <action issue="NET-521" type="fix" dev="sebb">
+            SubnetUtils.SubnetInfo.getAddressCount() can overflow as it returns an int
+            </action>
+            <action issue="NET-515" type="fix" due-to="Sebastian Ritter">
+            FTPClient sample in class javadoc "bug"
+            </action>
+            <action issue="NET-519" type="fix">
+            Apache Commons Net 3.3 has a performance issue
+            </action>
+            <action issue="NET-517" dev="sebb" type="fix" due-to="David Kocher">
+            FTPClient#reinitialize is package protected
+            </action>
+            <action issue="NET-512" dev="sebb" type="add" due-to="Thomas Raddatz">
+            Downloading files or members from the AS400 QSYS file system is not supported
+            </action>
+            <action issue="NET-518" dev="sebb" type="fix" due-to="David Kocher">
+            FTPClient#initFeatureMap should not initialize empty map if reply code is 530
+            </action>
+            <action issue="NET-514" dev="sebb" type="fix">
+            IMAP APPEND multiple issues in IMapClient.
+            Deprecated unusable append methods.
+            Added new append method, as well as example IMapImportMbox class to make use of it.
+            </action>
+            <action issue="NET-511" dev="ggregory" type="fix" due-to="Kyriacos Elia, Daniel Scott">
+            Exception for new SubnetUtils("0.0.0.0/0").
+            </action>
+        </release>
+        <release version="3.3" date="2013-06-11" description="
+This is mainly a bug-fix release. See further details below.
+        ">
+            <action issue="NET-509" dev="sebb" due-to="Anthony Dahanne" type="update">
+            AuthenticatingSMTPClient needs a constructor with the isImplicit argument for SSL
+            </action>
+            <action issue="NET-501" dev="sebb"  due-to="Julián Lastiri" type="fix">
+            Race Condition on TelnetClient.disconnect() and TelnetInputStream.run()
+            java.lang.IllegalStateException: Queue is full! Cannot process another character.
+            </action>
+            <action issue="NET-505" dev="sebb" due-to="Sean Kelley" type="update">
+            User specified bufferSize reset to default when FTPClient is disconnected or reinitialized resulting in performance degradation.
+            </action>
+            <action issue="NET-507" dev="sebb" due-to="Jiri Netolicky" type="update">
+            Option to disable private IP replacement in FTP passive mode.
+            </action>
+            <action issue="NET-503" dev="sebb" due-to="Ofer Regev" type="add">
+            AuthenticatingSMTPClient does not support non-default encoding
+            </action>
+            <action issue="NET-500" dev="sebb" due-to="Michael Frick" type="fix">
+            Always call FTPClient#setFileType after connection.
+            Not all servers default to ASCII.
+            </action>
+            <action issue="NET-465" dev="sebb" due-to="Jim Kerwood" type="fix">
+            FTPClient setSendBufferSize and setReceiveBufferSize on data socket.
+            The previous fix caused performance problems.
+            Added new getters and setters for the SO_SNDBUF and SO_RCVBUF values to be used on the data socket.
+            </action>
+            <action issue="NET-496" dev="sebb" type="add">
+            Util copyReader/copyStream classes should use default buffer size for non-positive buffer size parameters.
+            </action>
+            <action issue="NET-310" dev="sebb" type="add">
+            FTPCommand conversion to use enum; added FTPCmd emum and deprecated FTPCommand.
+            </action>
+            <action issue="NET-480" dev="sebb" due-to="Peter Naber" type="fix">
+            Wrong passivHost when using FTPHTTPClient with EPSV
+            </action>
+            <action issue="NET-494" dev="sebb" type="fix">
+            FTPClient.CSL.cleanUp() fails to restore timeout value on exception
+            </action>
+            <action issue="NET-492" dev="sebb" due-to="Tomasz Jedrzejewski" type="fix">
+            FTPClient.printWorkingDirectory() incorrectly parses certain valid PWD command results
+            </action>
+        </release>
+        <release version="3.2" date="2012-12-03" description="
+This release fixes bugs and adds some new functionality (see below).
+ It is binary compatible with previous releases.
+ Note that Clirr shows that two public methods have been removed (NET-485). These are not used within NET.
+        ">
+            <action issue="NET-46" dev="sebb" type="fix">
+            retrieveFileStream fails randomly or hangs
+            </action>
+            <action issue="NET-485" dev="sebb" type="fix">
+            Remove unnecessary Base64 methods.
+            </action>
+            <action issue="NET-482" dev="sebb" type="update" due-to="Houman Atashbar">
+            Support XOAUTH.
+            </action>
+            <action issue="NET-484" dev="sebb" type="fix">
+            Base64.CHUNK_SEPARATOR should be private
+            </action>
+            <action issue="NET-483" dev="sebb" type="fix">
+            Base64.encodeBase64(byte[], boolean, boolean, int) does not calculate output size correctly for unchunked output.
+            </action>
+            <action issue="NET-466" dev="sebb" type="fix" due-to="Martin Oberhuber">
+            Regression: TelnetInputStream#available() blocks.
+            </action>
+            <action issue="NET-426" dev="sebb" type="fix" due-to="Ketan">
+            FTPS: Hook to customize _openDataConnection_ SSLSocket before startHandshake() is called.
+            Implement _openDataConnection(String, String) method to properly
+            interface with FTPClient.openDataConnection(String, String)
+            </action>
+            <action issue="NET-456" dev="sebb" type="fix">
+            TelnetClient hangs when reader-thread startup is delayed.
+            </action>
+            <action issue="NET-449" dev="sebb" type="fix">
+            listFiles bug with folder that begins with "-". Clarify Javadoc.
+            </action>
+            <action issue="NET-473" dev="sebb" type="fix">
+            FTPClient setSoTimeout (int time) will result in NullPointerException. Clarify Javadoc.
+            </action>
+            <action issue="NET-468" dev="sebb" type="add" due-to="Bogdan Drozdowski">
+            Request for native support for socks proxy routing with Commons net FTP.
+            </action>
+            <action issue="NET-475" dev="sebb" type="fix">
+            FtpClient sends REST when calling listFiles. Clarified Javadoc.
+            </action>
+            <action issue="NET-465" dev="sebb" type="add" due-to="Bogdan Drozdowski">
+            FTPClient setSendBufferSize and setReceiveBufferSize on data socket.
+            </action>
+            <action issue="NET-462" dev="sebb" type="add" due-to="Bogdan Drozdowski">
+            FTPClient in PASSIVE_LOCAL_DATA_CONNECTION_MODE cannot work when host have several different IP.
+            </action>
+            <action issue="NET-467" dev="sebb" type="fix">
+            IMAPClient#fetch() does not handle literal strings.
+            </action>
+            <action issue="NET-458" dev="sebb" type="fix" due-to="Denis Molony">
+            MVSFTPEntryParser.parseSimpleEntry - ArrayIndexOutOfBoundsException.
+            </action>
+            <action issue="NET-450" dev="sebb" type="fix" due-to="Roger Hardiman">
+            Bug in documentation for FTPClient.
+            </action>
+            <action dev="sebb" type="add">
+            The examples can now be run using "java -jar commons-net-examples-m.n.jar".
+            This will automatically include the main net jar in the classpath.
+            See documentation.
+            FTPClientExample now supports "-A" for anonymous login
+            </action>
+            <action issue="NET-442" dev="sebb" type="fix">
+            StringIndexOutOfBoundsException: String index out of range: -1 if server respond with root is current directory.
+            </action>
+            <action issue="NET-444" dev="sebb" type="fix">
+            FTPTimestampParserImpl fails to parse future dates correctly on Feb 28th in a leap year.
+            </action>
+        </release>
+        <release version="3.1" date="Feb 20, 2012" description="
+This release fixes a few bugs and adds some new functionality (see below).
+  It is binary compatible with previous releases
+        ">
+            <action issue="NET-441" dev="sebb" type="fix" due-to="consiliens">
+            [FTP] mlistDir doc should be "MLSD" not "MSLD".
+            </action>
+            <action issue="NET-440" dev="sebb" type="add">
+            [FTP] Allow user to provide default value in case SYST command fails.
+            </action>
+            <action issue="NET-438" dev="sebb" type="fix" due-to="Norman Maurer">
+            POP3Client.capa() should call POP3Client.getAdditionalReply()
+            </action>
+            <action issue="NET-412" dev="sebb" type="fix" due-to="Chuck Wolber">
+            TFTP implementation subject to Sorcerer's Apprentice Syndrome
+            </action>
+            <action issue="NET-410" dev="sebb" type="fix" due-to="Chuck Wolber">
+            TFTP does not handle RFC 783 retransmits
+            </action>
+            <action issue="NET-437" dev="sebb" type="fix" due-to="Gavin Camp">
+            TelnetInputStream doesn't support non-blocking IO when reader thread is not enabled
+            </action>
+            <action issue="NET-346" dev="sebb" type="add" due-to="Kevin Samuel">
+            FTP should support reporting NATed external IP address
+            </action>
+            <action issue="NET-433" dev="sebb" type="add">
+            Commons NET site should link to the examples
+            </action>
+            <action issue="NET-422" dev="sebb" type="fix" due-to="Tomas Mysik / Magnus Johansson">
+            FTP using HTTP proxy not working
+            </action>
+            <action issue="NET-423" dev="sebb" type="fix" due-to="Jens Koch">
+            FTPClient.storeFIle might fail when ControlKeepAliveTimeout is set (ditto for FTPCLient.retrieveFile)
+            </action>
+            <action issue="NET-426" dev="sebb" type="add" due-to="Ketan">
+            FTPS: Hook to customize _openDataConnection_ SSLSocket before startHandshake() is called
+            </action>
+            <action issue="NET-430" dev="sebb" type="fix" due-to="Thomas Mathis">
+            Can't login to POP3S Server using explicit mode
+            </action>
+            <action issue="NET-434" dev="sebb" type="fix" due-to="zhangyong">
+            FTPClient fails to close local listener socket when command socket channel encounter "ReadTimeoutException"
+            </action>
+            <action issue="NET-436" dev="sebb" type="add" due-to="Jürgen Jung">
+            [FTP] Support for SYST "Mac OS" listing - "MACOS Peter's Server"
+            </action>
+            <action issue="NET-425" dev="sebb" type="update" due-to="Steven Jardine">
+            [FTP] _openDataConnection_, __storeFile, and __storeFileStream should be protected and take String for FTP command.
+            Likewise for receiveFile and receiveFileStream.
+            </action>
+            <action issue="NET-416" dev="sebb" type="update" due-to="Abhijeet Gaikwad">
+            [Telnet] Increasing sub-negotiation message holder array size
+            </action>
+            <action issue="NET-428" dev="sebb" type="fix" due-to="sebb">
+            SubnetUtils throws ArrayIndexOutOfBoundsException for new SubnetUtils( "1.2.3.4/32" ).getInfo().getAllAddresses()
+            </action>
+            <action issue="NET-421" dev="sebb" type="fix" due-to="Oliver Saggau">
+            Problem connecting to TLS/SSL SMTP server using explicit mode.
+            </action>
+            <action issue="NET-415" dev="sebb" type="fix" due-to="george thomas">
+            [Site] typo in migration how-to.
+            </action>
+        </release>
+
+        <release version="3.0.1" date="June 6, 2011" description="
+This is a bug-fix release.
+        ">
+            <action issue="NET-409" dev="sebb" type="fix">
+            FTPClient truncates file (storeFile method).
+            Fix bug introduced in release 3.0.
+            </action>
+        </release>
+        <release version="3.0" date="May 16, 2011" description="
+This release fixes many bugs (see below), and adds new functionality:
+  - basic support for IMAP and IMAPS
+  - support for SMTPS and POP3S
+
+    FTP changes:
+  - default for lenient future dates is now true, which fixes short date parsing where host clock is ahead of client clock
+  - no longer parses every response line twice
+  - OS auto-detection can be overriden by defining the property 'org.apache.commons.net.ftp.systemType';
+  - or by creating a properties file '/systemType.properties' which provides a mapping from getSystemType() to parser name
+  See the Javadoc for FTPClient.initiateListParsing(String parserKey, String pathname).
+  - SASL, PLAIN and CRAM-MD5 authentication added
+  - added control channel keep-alive for use with misbehaving routers, see FTPClient.setControlKeepAliveTimeout(long controlIdle)
+
+    NNTP changes:
+  - reworked to use long for article numbers
+  - added streaming equivalents for the array methods
+
+  Added TrustManagerUtils and KeyManagerUtils classes to simplify setting up trust and key namagers.
+KeyManagerUtils can be used to provide client certificates.
+
+  This release is binary-compatible with 2.2, but there are some minor changes to source compatibility:
+  - telnet.TelnetClient#addOptionHandler(TelnetOptionHandler) now additionally throws IOException
+  - telnet.TelnetClient#deleteOptionHandler() now additionally throws IOException
+  - ftp.FTPSClient ctors no longer throw NoSuchAlgorithmException
+  - Redundant CODE_nnn definitions have been removed from FTPReply, SMTPReply and NNTPReply classes
+  - Unused String constants KEYSTORE_ALGORITHM, PROVIDER, STORE_TYPE, TRUSTSTORE_ALGORITHM removed from FTPSClient
+
+  All users are recommended to upgrade.
+">
+            <action issue="NET-407" dev="sebb" type="update">
+            Change lenientFutureDates to default to true.
+            This means short dates will be parsed as the current year when the host clock is up to 1 day ahead of the client clock.
+            </action>
+            <action issue="NET-404" dev="sebb" type="fix">
+            FTPSSocketFactory does not override createSocket(); causes java.net.SocketException: Unconnected sockets not implemented.
+            </action>
+            <action issue="NET-399" dev="sebb" type="fix" due-to="Noah Levitt">
+            ftp data connection does not use connectTimeout.
+            </action>
+            <action issue="NET-400" dev="sebb" type="update" due-to="David Kocher">
+            Option to override SSL negotiation. Make FTPSClient#execAuth() and FTPSClient#sslNegotiation() protected
+            </action>
+            <action issue="NET-402" dev="sebb" type="fix">
+            IMAP, NNTP, POP3 and SMTP classes uses BufferedReader for control channel, which does not follow the standard.
+            Changed reader to CRLFLineReader.
+            </action>
+            <action issue="NET-401" dev="sebb" type="fix">
+            FTP class uses BufferedReader for control channel, which does not follow the standard.
+            Changed reader to CRLFLineReader.
+            </action>
+            <action issue="NET-331" dev="sebb" type="update">
+            AS400 file timestamp format is wrong. Workround exists.
+            </action>
+            <action issue="NET-269" dev="sebb" type="update">
+            Remove semi-redundant check in SubnetUtils.calculate().
+            </action>
+            <action issue="NET-219" dev="sebb" type="update">
+            Should Telnet class Exception blocks write to System.err?
+            Catch blocks removed, and throws clauses added to allow caller to more easily detect and recover.
+            </action>
+            <action issue="NET-397" dev="sebb" type="update" due-to="Bogdan Drozdowski" due-to-email="bogdandr # op . pl">
+            FTPSClient does not handle AUTH or ADAT and only partially handles PBSZ. FTPSCommand should be deprecated.
+            </action>
+            <action issue="NET-268" dev="sebb" type="fix">
+            Better handling of CIDR/31 and CIDR/32 where isInclusive = false.
+            Return 0 for address count, and 0.0.0.0 for each of the addresses
+            </action>
+            <action issue="NET-395" dev="sebb" type="update">
+            Move ProtocolCommandSupport to SocketClient.
+            </action>
+            <action issue="NET-393" dev="sebb" type="update">
+            Should the sendCommandWithID() methods be public?
+            Made methods private, and deleted currently unused ones.
+            </action>
+            <action issue="NET-394" dev="sebb" type="update">
+            Are the sendUntaggedCommand() methods needed?
+            Renamed the method as sendData(), as it's not a command.
+            </action>
+            <action issue="NET-392" dev="sebb" type="update">
+            Use enum for IMAPCommand.
+            </action>
+            <action issue="NET-333" dev="sebb" type="add" due-to="Bogdan Drozdowski" due-to-email="bogdandr # op . pl">
+            Added basic IMAP/IMAPS implementation.
+            </action>
+            <action issue="NET-389" dev="sebb" type="fix">
+            Unix parser should ignore "total nnn" lines.
+            </action>
+            <action issue="NET-369" dev="sebb" type="remove">
+            Article.addHeaderField() is currently write-only - there is no way to retrieve the headers - is it needed?
+            Method was removed, along with the field.
+            </action>
+            <action issue="NET-367" dev="sebb" type="fix">
+            ntp.TimeStamp uses incorrect lazy initialisation of static fields simpleFormatter and utcFormatter.
+            </action>
+            <action issue="NET-381" dev="sebb" type="update">
+            Parsing is inefficient, as it parses everything twice.
+            </action>
+            <action issue="NET-388" dev="sebb" type="fix">
+            VMSVersioningFTPEntryParser#preParse should not call super.preParse().
+            </action>
+            <action issue="NET-362" dev="sebb" type="fix">
+            TelnetInputStream has various threading bugs.
+            </action>
+            <action issue="NET-89" dev="sebb" type="fix">
+            TelnetClient use of FromNetASCIIInputStream and ToNetASCIIOutputStream breaks binary mode.
+            See also NET-387.
+            </action>
+            <action issue="NET-385" dev="sebb" type="update">
+            FTP does not apply timeout to initial responses.
+            </action>
+            <action issue="NET-384" dev="sebb" type="update">
+            KeyManagerUtils - the KeyManager is not efficient.
+            </action>
+            <action issue="NET-383" dev="sebb" type="update">
+            KeyManagerUtils - allow alias to be omitted when there is only one private key in the store
+            </action>
+            <action issue="NET-326" dev="sebb" type="add">
+            A KeyManager is required when the protection level is set to 'P' with FTPSClient on active mode.
+            Added KeyManagerUtils class to simplify provision of client certificates.
+            </action>
+            <action issue="NET-273" dev="sebb" type="add">
+            FEAT response parsing. Added FTPClient methods: boolean hasFeature(feature [,option]),
+            String fetaureValue(feature), String[] featureValues(feature)
+            </action>
+            <action issue="NET-379" dev="sebb" type="add">
+            FTPClient - support for processing arbitrary commands that only use the control channel
+            </action>
+            <action issue="NET-378" dev="sebb" type="add">
+            FTP listing should support MLST and MLSD.
+            </action>
+            <action issue="NET-377" dev="sebb" type="update">
+            NLST does not take notice of HiddenFiles setting.
+            </action>
+            <action issue="NET-373" dev="sebb" type="update">
+            NNTP Listgroups not working - broken server implementation.
+            </action>
+            <action issue="NET-375" dev="sebb" type="update">
+            DotTerminatedMessageReader should extend BufferedReader, rather than Reader.
+            </action>
+            <action issue="NET-374" dev="sebb" type="update">
+            ParserInitializationException doesn't use standard JDK exception chaining
+            </action>
+            <action issue="NET-372" dev="sebb" type="add">
+            FTPSClient: java.security.cert.CertificateException: No X509TrustManager implementation available if trustManager == null
+            </action>
+            <action issue="NET-371" dev="sebb" type="add">
+            Create TrustManagerFactory to provide custom TrustManagers.
+            </action>
+            <action issue="NET-354" dev="sebb" type="fix" due-to="Leif John Korshavn">
+            FTPSClient not properly supporting CCC and PROT P.
+            </action>
+            <action issue="NET-368" dev="sebb" type="update">
+            Threader.thread should accept an Iterable rather than a List.
+            </action>
+            <action issue="NET-327" dev="sebb" type="add" due-to="Bogdan Drozdowski" due-to-email="bogdandr # op . pl">
+            "Unconnected sockets not implemented" when using FTPSClient
+            Added disconnect() override which resets the socket factories to their defaults
+            </action>
+            <action issue="NET-350" dev="sebb" type="add" due-to="Bogdan Drozdowski" due-to-email="bogdandr # op . pl">
+            "java.net.SocketException: Broken pipe" when calling "TelnetClient.sendAYT()"
+            Added SocketClient#isAvailable() method to perform additional checks on a socket.
+            </action>
+            <action issue="NET-237" dev="sebb" type="add">
+            Add streaming methods (corresponding to array methods) to NNTPClient.
+            </action>
+            <action issue="NET-365" dev="sebb" type="fix">
+            FTPClient.listFiles() does not work properly, if remote server speaks German.
+            Match non-space{3} instead of A-Za-z{3}
+            </action>
+            <action issue="NET-366" dev="sebb" type="fix">
+            FTPClientConfig: setServerLanguageCode and setShortMonthNames do not work.
+            Ensure that config is passed to all parsers that can use it.
+            </action>
+            <action issue="NET-276" dev="sebb" type="fix">
+            NNTPClient has problems with group listings for large groups.
+            </action>
+            <action issue="NET-185" dev="sebb" type="fix">
+            Possible NPE in Threader.java
+            </action>
+            <action issue="NET-364" dev="sebb" type="fix">
+            nntp.Article is very inefficient and incorrect.
+            </action>
+            <action issue="NET-314" dev="sebb" type="add" due-to="Bogdan Drozdowski" due-to-email="bogdandr # op . pl">
+            The FTP client should autodetect the control encoding.
+            </action>
+            <action issue="NET-363" dev="sebb" type="fix" due-to="daniel damon">
+            Can't connect to a server behind firewall in passive mode.
+            </action>
+            <action issue="NET-348" dev="sebb" type="fix">
+            Queue is full TelnetInputStream.
+            </action>
+            <action issue="NET-361" dev="sebb" type="add">
+            Implement Telnet Command sender.
+            </action>
+            <action issue="NET-345" dev="sebb" type="fix" due-to="Archie Cobbs">
+            Telnet client: not properly handling IAC bytes within subnegotiation messages:
+            - failing to double IACs on output
+            - failing to de-double IACs in input
+            </action>
+            <action issue="NET-343" dev="sebb" type="add" due-to="Archie Cobbs">
+            Telnet client: Support Client-initiated Subnegotiation Messages.
+            </action>
+            <action issue="NET-344" dev="sebb" type="add" due-to="Archie Cobbs">
+            Telnet client: Support Listener Notification of Incoming Data.
+            </action>
+            <action issue="NET-270" dev="sebb" type="fix">
+            Incorrect error handling in method initiateListParsing of FTPClient.
+            </action>
+            <action issue="NET-352" dev="sebb" type="add" due-to="Bogdan Drozdowski" due-to-email="bogdandr # op . pl">
+            SASL PLAIN and CRAM-MD5 authentication.
+            </action>
+            <action issue="NET-357" dev="sebb" type="add" due-to="Bogdan Drozdowski" due-to-email="bogdandr # op . pl">
+            The POP3 client does not support SSL/TLS connections.
+            </action>
+            <action dev="sebb" type="remove">
+            Removed deprecated unused fields from FTPSClient:
+            - KEYSTORE_ALGORITHM, PROVIDER, STORE_TYPE, TRUSTSTORE_ALGORITHM
+            </action>
+            <action issue="NET-258" dev="sebb" type="fix">
+            Implement A Keepalive Mechanism. Control channel keepalive implemented for the following methods:
+            appendFile, storeFile, storeUniqueFile, retrieveFile.
+            </action>
+            <action issue="NET-289" dev="sebb" type="fix" due-to="Luc Claes">
+            StackOverflowError in Threader.
+            </action>
+            <action issue="NET-317" dev="sebb" type="fix">
+            POP3MessageInfo fields should be final.
+            </action>
+            <action issue="NET-252" dev="sebb" type="fix">
+            Get rid of using deprecated API in VMSFTPEntryParser.
+            </action>
+            <action issue="NET-330" dev="sebb" type="remove">
+            The method VMSFTPEntryParser.parseFileList(InputStream listStream) should not be present.
+            </action>
+            <action issue="NET-303" dev="sebb" type="fix">
+            FTPFileEntryParser API samples are wrong.
+            </action>
+            <action issue="NET-229" dev="sebb" type="add">
+            Use properties file (/systemType.properties) to handle new OS-type auto-detection.
+            </action>
+            <action issue="NET-332" dev="sebb" type="add">
+            Commons net ftp cannot handle unknown type parser and should allow override of parser through vm argument.
+            The system property "org.apache.commons.net.ftp.systemType" can be used to provide the system type.
+            </action>
+            <action issue="NET-286" dev="sebb" type="fix">
+            Unhandled SecurityException in DefaultFTPFileEntryParserFactory.createFileEntryParser when using applets.
+            </action>
+            <action issue="NET-360" dev="sebb" type="fix">
+            DefaultFTPFileEntryParserFactory.createFileEntryParser(String key) always tries to load a class.
+            </action>
+            <action issue="NET-156" dev="sebb" type="add">
+            New FTPClient method to retrieve all directory names in the current working directory.
+            Added methods listDirectories(), listDirectories(String path).
+            </action>
+            <action issue="NET-353" dev="sebb" type="add" due-to="Bogdan Drozdowski" due-to-email="bogdandr # op . pl">
+            The SMTPClient does not support authentication.
+            </action>
+            <action issue="NET-356" dev="sebb" type="add" due-to="Bogdan Drozdowski" due-to-email="bogdandr # op . pl">
+            The SMTP client does not support SSL/TLS connections.
+            </action>
+            <action issue="NET-358" dev="sebb" type="add">
+            Implement copy Listener in FTPClient file operations.
+            </action>
+            <action issue="NET-359" dev="sebb" type="fix">
+            CopyStreamAdapter unconditionally resets the CopyStreamEvent source and is inefficient.
+            </action>
+            <action issue="NET-355" dev="sebb" type="fix">
+            examples.nntp.NNTPUtils does not compile
+            </action>
+            <action issue="NET-351" dev="sebb" type="add" due-to="Bogdan Drozdowski" due-to-email="bogdandr # op . pl">
+            APOP authentication fails most of the time.
+            Fix by adding leading 0 if necessary.
+            </action>
+        </release>
+        <release version="2.2" date="Nov 22, 2010" description="
+This is primarily a maintenance release, but it also includes new features and enhancements.
+
+  Users of version 2.0 are encouraged to upgrade to 2.2, as this release includes some important bug fixes.
+
+  See the detailed list of changes below for full description of all bug fixes and enhancements.
+
+">
+            <action issue="NET-334" dev="sebb" type="fix">
+            FromNetASCIIInputStream can throw a NullPointerException
+            </action>
+            <action issue="NET-341" dev="sebb" type="fix">
+            FTPClient.remoteAppend(String filename) uses STOR instead of APPE
+            </action>
+            <action issue="NET-339" dev="sebb" type="fix">
+            Incorrect parsing of timestamp on Windows CE
+            Fix parsing to allow for new-style DOS listing using 24hr clock rather than AM/PM
+            </action>
+            <action issue="NET-338" dev="sebb" type="add">
+            ftp.FTPClient.initiateListParsing(String parserKey, String pathname)
+            can call createFileEntryParser with null systemName.
+            Fix this by adding getSystemType() which does not return null, and deprecating getSystemName().
+            </action>
+            <action issue="NET-244" dev="sebb" type="add">
+            Add support for FTPFileFilter filters. New classes FTPFileFilter, FTPFileFilters, new methods:
+            FTPListParseEngine#getFiles(FTPFileFilter filter)
+            FTPClient.listFiles(String pathname, FTPFileFilter filter)
+            </action>
+            <action issue="NET-313" dev="sebb" type="fix">
+            Optionally enable EPSV with IPv4; Only send EPRT with IPv6.
+            Fix incorrect port used with EPRT. Allow activeMaxPort == activeMinPort in getActivePort() method.
+            </action>
+            <action issue="NET-328" dev="sebb" type="fix">
+            FromNetASCIIInputStream.read(byte[], int, int) may change length passed to superclass if not doing conversion
+            </action>
+            <action issue="NET-74" dev="sebb" type="add">
+            Testcase to show WindowSizeOptionHandler is working OK
+            </action>
+            <action issue="NET-330" dev="sebb" type="fix">
+            The method VMSFTPEntryParser.parseFileList(InputStream listStream) should not be present.
+            Partial fix - marked method as deprecated and to be removed
+            </action>
+            <action issue="NET-180" dev="sebb" type="fix">
+            Telnet EOR is "consumed" by TelnetInputStream when in BINARY transmission.
+            Send notification to TelnetNotificationHandler.
+            </action>
+            <action issue="NET-329" dev="sebb" type="fix">
+                TelnetInoutStream#__read() bug in the __receiveState handling for the _STATE_IAC state.
+            </action>
+            <action issue="NET-283" dev="sebb" type="fix">
+                SocketClient should ensure input and output streams are closed
+            </action>
+            <action issue="NET-302" dev="sebb" type="fix">
+                FTP: initiateListParsing should not cache entryParser
+            </action>
+            <action issue="NET-282" dev="rwinston" type="fix">
+                Improvement to isInRange method in SubnetUtil.SubnetInfo class
+            </action>
+            <action issue="NET-266" dev="rwinston" type="fix">
+                FTPClient.listFiles() corrupts file name in certain circumstances
+            </action>
+            <action issue="NET-264" dev="sebb" type="fix">
+                Telnet spyStream NullPointerException
+            </action>
+            <action dev="sebb" type="update">
+                Deprecated the following unused fields from org.apache.commons.net.ftp.FTPSClient:
+                KEYSTORE_ALGORITHM, PROVIDER, STORE_TYPE, TRUSTSTORE_ALGORITHM
+            </action>
+            <action dev="niallp" type="fix">
+                Fix site reports
+            </action>
+            <action issue="NET-285" dev="rwinston" type="fix">
+                Add support for setting external host ip/port range
+            </action>
+            <action issue="NET-290" dev="rwinston" type="fix">
+                Add fix and testcase for DotTerminatedMessageReader
+            </action>
+            <action issue="NET-288" dev="rwinston" type="fix">
+                Add support for IPv6 EPRT/EPSV
+            </action>
+            <action issue="NET-305" dev="rwinston" type="fix">
+                Fix SubnetUtils for /32 subnets and add inclusive host count flag
+            </action>
+            <action issue="NET-300" dev="rwinston" type="fix">
+                Fix NPE when listHiddenFiles was on
+            </action>
+            <action issue="NET-215" dev="rwinston" type="fix">
+                UNIXFTPEntryParser didn't preserve trailing whitespace in files
+            </action>
+            <action issue="NET-236" dev="rwinston" type="fix">
+                method SubnetUtils.SubnetInfo.isInRange(addr) returns incorrect result
+            </action>
+            <action issue="NET-242" dev="rwinston" type="fix">
+                Method createServerSocket of FTPSSocketFactory never called and thus UseClientMode is incorrect in a secured ftp transfer using active mode.
+            </action>
+            <action issue="NET-248" dev="rwinston" type="fix">
+                Fix inconsistent command list in FTPCommand
+            </action>
+            <action issue="NET-250" dev="rwinston" type="fix">
+                DefaultFTPFileEntryParserFactory did not work with Netware FTP server returning "NETWARE TYPE: L8"
+            </action>
+            <action issue="NET-257" dev="rwinston" type="fix">
+                FTP.getReplyStrings() returned array of null Strings
+            </action>
+            <action issue="NET-259" dev="rwinston" type="fix">
+                UnixFTPEntryParser regex did not match some directory entries
+            </action>
+            <action issue="NET-260" dev="rwinston" type="fix">
+                SubnetUtils.SubnetInfo.isInRange(...) returned incorrect values
+            </action>
+            <action issue="NET-261" dev="rwinston" type="update">
+                SubnetUtils.SubnetInfo.isInRange(...) behaviour not documented
+            </action>
+            <action issue="NET-262" dev="rwinston" type="fix">
+                SubnetUtils did not handle /31 and /32 CIDRs well
+            </action>
+            <action issue="NET-265" dev="rwinston" type="fix">
+                UnixFTPEntryParser failed to parse entry in certain conditions
+            </action>
+            <action issue="NET-266" dev="rwinston" type="fix">
+                FTPClient.listFiles() corrupted file name in certain circumstances
+            </action>
+            <action issue="NET-251" dev="rwinston" type="update">
+                Moved class "ThreadContainer" from Threader.java into its own source file
+            </action>
+            <action issue="NET-256" dev="rwinston" type="fix">
+                FTPSClient should accept a pre-configured SSLContext
+            </action>
+            <action issue="NET-263" dev="rwinston" type="add">
+                SubnetUtils / SubNetInfo toString() implementations
+            </action>
+            <action dev="rwinston" type="fix">
+                Improve NNTPClient handling of invalid articles
+            </action>
+            <action dev="rwinston" type="update">
+                Refactor examples package.
+            </action>
+            <action dev="sebb" type="add">
+                Javadoc fixes, improvements, and refactoring.
+            </action>
+            <action issue="NET-245" dev="rwinston" type="fix">
+                Apply MFMT patch
+            </action>
+            <action issue="NET-279" dev="rwinston" type="fix">
+                Fix copying of reply lines collection
+            </action>
+            <action issue="NET-277" dev="rwinston" type="fix">
+                Fix incorrect NNTP constant
+            </action>
+            <action issue="NET-274" dev="rwinston" type="fix">
+                Restore socket state after CCC command
+            </action>
+            <action issue="NET-275" dev="rwinston" type="fix">
+                Example code in FTPClient doesn't compile
+            </action>
+            <action dev="rwinston" type="fix">
+                Fix inconsistent handling of socket read/write buffer size
+            </action>
+            <action issue="NET-294" dev="sebb" type="fix">
+                UnixFTPEntryParser fails to parse some entries
+            </action>
+        </release>
+
+        <release version="2.1" description="Not released"/>
+
+        <release version="2.0" date="October 20, 2008" description="Java 5.0 release">
+            <action dev="rwinston" type="fix" issue="NET-307">
+                One of the "connect" method in class org.apache.commons.net.SocketClient doesn't handle connection timeout properly
+            </action>
+            <action dev="rwinston" type="update">
+                Add null check in TelnetClient::disconnect().
+            </action>
+            <action dev="rwinston" type="remove">
+                Remove deprecated FTPFileIterator and FTPFileList classes.
+            </action>
+            <action dev="rwinston" type="add">
+                Add connection timeout functionality to SocketClient.
+            </action>
+            <action dev="rwinston" type="update">
+                Make the KeyManager and TrustManager settable (niklas@protocol7.com).
+            </action>
+            <action dev="rwinston" type="update">
+                Patch FTPSClient to set default SSLServerSocketFactory. Thanks niklas@protocol7.com
+            </action>
+            <action dev="rwinston" type="fix" issue="NET-68">
+                Patch to prevent TFTPClient dropping last packet. Thanks palm@poplarware.com
+            </action>
+            <action dev="rwinston" type="update">
+                Change isConnected() method to delegate to underlying socket connection.
+            </action>
+            <action dev="rwinston" type="add">
+                FTPS (TLS and SSL) is now supported. Thanks to Jose Juan Montiel, Paul Ferraro, and Satoshi Ishigami.
+            </action>
+            <action dev="rwinston" type="update">
+                Commons::Net now uses Maven 2. The project.xml has been replaced with a pom.xml, and the source tree layout
+                has been changed accordingly.
+            </action>
+            <action dev="rwinston" type="remove">
+                Removed old ftp2 proposal directories.
+            </action>
+            <action dev="rwinston" type="update">
+                Commons::Net now uses JDK regex functionality, saving on an extra [oro] dependency. There are now
+                no external dependencies required.
+            </action>
+            <action dev="rwinston" type="fix">
+                Various syntactic issues (FindBugs issues, JDK 5.0 generics support)
+            </action>
+            <action dev="dfs" type="fix">
+                Applied Rob Hasselbaum's
+                rhasselbaum -> alumni.ithaca.edu
+                patch for PR 38688 fixing a
+                TelnetInputStream hang.
+            </action>
+            <action dev="dfs" type="update">
+                Exposed control connection of FTP
+                class via _controlInput_ and _controlOutput_
+                protected member variables in response
+                to PR 38309 reported by
+                josejuan.montiel@gmail.com.
+            </action>
+            <action dev="dfs" type="fix">
+                Reverted PR 32859 patch to TFTPClient
+                because it caused final packets to not
+                be sent.
+            </action>
+            <action dev="rwinston" type="update" issue="NET-36">
+                Make FTPClient extend SocketClient instead of TelnetClient. From jhindsley@providerlink.com
+            </action>
+            <action dev="rwinston" type="fix" issue="NET-39">
+                Adds an "e" symbolic link flag to the Unix FTP parser. From denisgaebler@netscape.net
+            </action>
+            <action dev="rwinston" type="fix" issue="NET-119">
+                Allow hidden files to be listed. Thanks to mario@ops.co.at
+            </action>
+            <action dev="rwinston" type="update">
+                Remove reflective check for Socket::isConnected() (no longer needed)
+            </action>
+            <action dev="rwinston" type="add" issue="NET-136">
+                Added WindowSizeOptionHandler for TelnetClient. Thanks to yuvalkashtan@gmail.com
+            </action>
+            <action dev="rwinston" type="update">
+                Refactored *Client classes under net/ package into separate subpackages, and move PrintCommandListener
+                out of the examples/ package.
+            </action>
+            <action dev="rwinston" type="add">
+                Added an ant target to the Maven build to generate an FTP-only jar file, for clients who
+                wish to use only FTP-based functionality.
+            </action>
+            <action dev="rwinston" type="update">
+                Custom SocketFactory interface has been replaced with the JDK SocketFactory implementation. Added
+                ServerSocketFactory instance to SocketClient.
+            </action>
+            <action dev="rwinston" type="update">
+                Removed redundant FTP.IMAGE_FILE_TYPE flag.
+            </action>
+            <action dev="rwinston" type="update">
+                Added heavily updated MVSFTPEntryParser from henrik.sorensen@balcab.ch
+            </action>
+            <action dev="rwinston" type="remove">
+                Removed deprecated classes FTPFileListParser, FTPFileListParserImpl, and DefaultFTPFileListParser. Also
+                removed associated deprecated methods from FTPClient.
+            </action>
+            <action dev="rwinston" type="fix" issue="NET-164">
+                Added encoding to FingerClient. From Ulrich Mayring.
+            </action>
+            <action dev="rwinston" type="fix" issue="NET-24">
+                Catch BindException in RCommandClient::connect().
+            </action>
+            <action dev="rwinston" type="fix" issue="NET-178">
+                Add encoding specifier to SMTPClient.
+            </action>
+            <action dev="rwinston" type="add">
+                Add setters for socket send/receive buffer size to SocketClient.
+            </action>
+            <action dev="rwinston" type="fix" issue="NET-177">
+                Fix PASV specifiers that broke previously. From Chris Eagle.
+            </action>
+            <action dev="rwinston" type="fix" issue="NET-182">
+                Catch NPE in FTP parser factory method.
+            </action>
+            <action dev="rwinston" type="fix" issue="NET-172">
+                Don't bind a UDP socket to NTP protocol port.
+            </action>
+            <action dev="rwinston" type="fix">
+                Better handling of user and group names with embedded spaces in FTP listings.
+            </action>
+            <action dev="rwinston" type="fix" issue="NET-173">
+                Add configurable multiline parsing.
+            </action>
+            <action dev="rwinston" type="fix" issue="NET-188">
+                Add fix for broken leap year date parsing.
+            </action>
+            <action dev="rwinston" type="add">
+                Add SubnetUtils class (suggested by Kenny McLeod)
+            </action>
+            <action dev="rwinston" type="fix" issue="NET-169">
+                Add Unix-type handling for UNKNOWN Type: L8 syst() message systems.
+            </action>
+            <action dev="rwinston" type="fix" issue="NET-198">
+                Allow FTPTimestampParserImpl to take a predefined Calendar instance representing current time.
+            </action>
+            <action dev="sebb" type="fix" issue="NET-194">
+                Replace Exception with IOException
+            </action>
+            <action dev="sebb" type="update" issue="NET-214">
+                VMS file permission parsing
+            </action>
+            <action dev="sebb" type="fix" issue="NET-208">
+                TelnetInputStream swallows interruptedexception as IOException
+            </action>
+            <action dev="sebb" type="fix" issue="NET-223">
+                the data connection socket is not closed when an IOException occurred
+            </action>
+            <action dev="sebb" type="fix" issue="NET-230">
+                ParserInitializationException when connecting to a Unix FTP server: comparison string must be upper case
+            </action>
+            <action dev="sebb" type="fix" issue="NET-225">
+                FTPFileEntryParserImpl.preParse() doesn't remove unparsable entries at the end of the file list
+            </action>
+        </release>
+
+
+<!-- 1.5.0 has not yet been released, so comment out the section until it is ready for release -->
+<!--
+        <release version="1.5.0" date="" description="">
+            <action dev="dfs" type="fix" issue="NET-3">
+                TelnetInputStream.java: Applied Rob
+                Hasselbaum's
+                rhasselbaum@alumni.ithaca.edu
+                patch for PR 38688 fixing a
+                TelnetInputStream hang.
+            </action>
+            <action dev="rwinston" type="fix"
+                issue="NET-73">
+                TelnetInputStream.java: Fixing another
+                potential deadlock for
+                telnet and FTP (patch courtesy Rob Hasselbaum).
+            </action>
+            <action dev="dfs" type="update" issue="NET-57">
+                FTP.java: Exposed control connection of
+                FTP
+                class via _controlInput_ and
+                _controlOutput_
+                protected member variables in response
+                to PR 38309 reported by
+                josejuan.montiel@gmail.com.
+            </action>
+            <action dev="rwinston" type="fix"
+                issue="NET-68">
+                TFTPClient.java: Fix bug causing final
+                packets
+                to not be sent.
+            </action>
+            <action dev="rwinston" type="fix"
+                issue="NET-161">
+                TFTPClient.java: Fix sendFile() (related
+                to NET-68).
+            </action>
+            <action dev="rwinston" type="fix"
+                issue="NET-181">
+                TFTPClient.java: block number
+                wraparound.
+            </action>
+            <action dev="scohen" type="fix" issue="NET-16">
+                UNIXFTPEntryParser.java: support for
+                group names with
+                spaces (patch courtesy D. Kilzer).
+            </action>
+            <action dev="scohen" type="fix" issue="NET-62">
+                DefaultFTPFileEntryParserFactory.java:
+                Wrap
+                NoClassDefFoundError in FTP parser exception
+                when ORO is not available.
+            </action>
+            <action dev="rwinston" type="add"
+                issue="NET-33">
+                FTPClient.java: Fix closing FTP
+                ServerSocket after timeout
+            </action>
+            <action dev="rwinston" type="add">
+                FTPClientConfig.java: Added an FTP
+                parser for Netware FTP servers.
+                Tested on Novell Netware 6.5.
+            </action>
+            <action dev="rwinston" type="fix"
+                issue="NET-188">
+                FTPTimestampParserImpl.java: Fix leap
+                year date parsing bug.
+            </action>
+            <action dev="rwinston" type="fix">
+                Article.java: Fix minor issues with NNTP
+                parsing.
+            </action>
+        </release>
+-->
+
+
+        <release version="1.4.1" date="December 3, 2005" description="fix release to restore jdk 1.3 compatability">
+            <action dev="scohen" type="fix">
+                Applied patches for defect 37113. Code incompatible with jdk 1.3. Original patch submitted by Andrea Rombald
+            </action>
+            <action dev="scohen" type="fix">
+                Applied patches for defect 37522. updated project.xml to correct compatibility level.
+            </action>
+        </release>
+
+        <release version="1.4.0" date="May 7, 2005" description="Some additions and enhancements">
+            <action dev="dfs" type="fix">
+                Fixed typo in method name.
+                FTP.removeCommandListener() was missing
+                the L.  Problem reported by
+                Per.Lindberger@linkon.se.
+            </action>
+            <action dev="rwinston" type="fix">
+                Applied fix for PR 33942 and PR 31793. Original patch submitted by mario@ops.co.at
+            </action>
+            <action dev="rwinston" type="fix">
+                TFTPClient was ignoring final ACK (PR 32859). Thanks to perttu.auramo@ekahau.com
+            </action>
+            <action dev="rwinston" type="fix">
+                Applied fix for ACL parsing in the FTP client (PR 33972). Submitted by robertalasch@yahoo.com
+            </action>
+            <action dev="rwinston" type="fix">
+                Added missing NTP/SNTP unit tests to the codebase.
+            </action>
+            <action dev="dfs" type="fix">
+                Applied fix for POP3Client returning empty reply strings (PR 34133). Thanks to sammy_c@lineone.net
+            </action>
+            <action dev="rwinston" type="fix">
+                NTP port parameter was being ignored (PR 34219). Fixed by felix.eichhorn@3soft.de
+            </action>
+            <action dev="scohen" type="add">
+                An FTP parser for MVS was added. Submitted by wnoto@openfinance.com
+            </action>
+            <action dev="scohen" type="add">
+                Added functionality for extensible parsing of FTP responses, using a configurable format string. This should enable the FTP client to operate across many different locales and date formats.
+            </action>
+        </release>
+
+        <release version="1.3.0" date="December 15, 2004" description="many fixes and enhancements">
+            <action dev="rwinston" type="fix">
+                Applied patch for PR 31793. Thanks to mario@ops.co.at
+            </action>
+            <action dev="rwinston" type="add">
+                Added message threading functionality to the NNTP client.
+            </action>
+            <action dev="rwinston" type="update">
+                Added return code 521 to FTPReply.java - this should obviate the need for the Ant FTP task to manually declare it.
+            </action>
+            <action dev="rwinston" type="fix">
+                Add explicit notify() in TelnetInputStream::read(), so available() returns an accurate value. Thanks to tpalkot@gmail.com.
+            </action>
+            <action dev="rwinston" type="add">
+                Added SNTP/NTP components into the Commons-Net codebase, courtesy of
+                Jason Matthews.
+            </action>
+            <action dev="rwinston" type="add">
+                Added POP3 test suite, courtesy of Mike George mike.george@comcast.net.
+            </action>
+            <action dev="scohen" type="fix">
+                Applied fix for FTPClient returning null for certain timestamp formats (BUG #30737)
+            </action>
+            <action dev="rwinston" type="fix">
+                Build.xml fixes - dont include example classes in redistributable
+                .jar, remove test dependency from javadoc target, and exclude private members from generated javadoc.
+            </action>
+            <action dev="rwinston" type="fix">
+                Fixed bug in TFTPClient::setMaxTimeout(), spotted by steve@widge.net
+            </action>
+            <action dev="dfs" type="fix">
+                Some changes to facilitate compilation under JDK 5.0
+            </action>
+            <action dev="rwinston" type="fix">
+                Return correct NNTP article count when high and low watermarks are 0.
+                Spotted by jmordax@terra.es
+            </action>
+            <action dev="rwinston" type="fix">
+                Remove trailing null byte in TFTP packets. Thanks to gerard.dens@alcatel.be
+            </action>
+            <action dev="dfs" type="fix">
+                Many javadoc fixes.
+            </action>
+            <action dev="rwinston" type="update">
+                Allow FTPClient to set transfer buffer size.
+            </action>
+            <action dev="rwinston" type="update">
+                Ensure consistent handling of encoding throughout FTPClient
+                operations. Patch submitted by leif@tanukisoftware.com.
+            </action>
+            <action dev="dfs" type="fix">
+                Fix TelnetClient zombie thread issue
+            </action>
+
+
+        </release>
+        <release version="1.3.0-dev" date="July 28, 2004"
+            description="regression fix">
+            <action dev="dfs" type="fix">
+                Fixed regression from migration to new parsers.  Most of the
+                new parsers parsed the file size as an integer instead of a
+                long.  Changed all of them to set the size to long.  This
+                problem was detected by the reporter of:
+                http://issues.apache.org/bugzilla/show_bug.cgi?id=30345
+            </action>
+        </release>
+        <release version="1.2.2" date="June 25, 2004" description="fix release">
+            <action dev="scohen" type="fix">
+                fixed bug in the way FTPClient.listFiles worked when a directory was not
+                specified.  Current directory was not being 'remembered'.  This was most
+                problematic in the dependent ftp task of Ant.
+            </action>
+            <action dev="scohen" type="fix">
+                fixed handling of certain unusual "special" file types in the Unix parser.
+            </action>
+        </release>
+
+        <release version="1.2.1" date="May 6, 2004" description="fix release">
+            <action dev="scohen" type="fix">
+                changed code that rendered package uncompilable under JDK 1.2
+            </action>
+        </release>
+
+        <release version="1.2.0" date="April 30, 2004" description="autodetection of system for listings">
+            <action dev="scohen" type="fix">
+                Mario Ivankovits mario@ops.co.at added
+                functionality supporting correct handling of the &quot;dirstyle&quot;
+                attribute of NT and OS400 servers that allows them to mimic Unix ftp servers.
+                and a bug fix affecting handling of sticky and suid bits on Unix FTP servers.
+            </action>
+            <action dev="scohen" type="add">
+                Mario Ivankovits mario@ops.co.at added parser for OS400.
+            </action>
+            <action dev="jbrekke,scohen" type="fix">
+                Added a functional junit test testing list parsing against real servers
+                and fix several    bugs found through this test.
+            </action>
+            <action dev="dfs" type="add">
+                Ted Wise ctwise@bellsouth.net provided a
+                patch to add the XHDR extended NNTP command.
+            </action>
+            <action dev="scohen,dfs" type="update">
+                Deprecated FTPFileListParser interface, DefaultFTPFileListParser
+                class, and the FTPClient.listFiles methods that accepted an
+                FTPFileListParser parameter.  These deprecated classes and methods
+                will be removed in version 2.0.
+            </action>
+            <action dev="scohen" type="add">
+                Added org.apache.commons.net.parser.FTPFileEntryParserFactory
+                interface and a default implementation:
+                DefaultFTPFileEntryParserFactory.  This addition facilitates the
+                autodetection of which FTPFileEntryParser to use to generate
+                listings.  FTPClient.listFiles methods were added that implement
+                autodetection.
+            </action>
+        </release>
+
+<!-- Not yet released; probably never will be
+        <release version="1.1.1" date="TBD" description="last jdk1.1 compatible release">
+            <action dev="scohen" type="fix">
+                Removed all JDK 1.1 incompatibilities that had been introduced
+                unintentionally in previous versions.  Release 1.1.1 is the last
+                JDK 1.1 compatible release.  Any future 1.1.x maintenance releases
+                will remain JDK !.1 compatible, but version 1.2 may break
+                compatibility and will be guaranteed to work with only J2SE 1.2
+                and later.
+            </action>
+        </release>
+ -->
+        <release version="1.1.0" date="October 23, 2003" description="many enhancements and bug fixes">
+            <action dev="dfs" type="add">
+                Rory Winston Rory.Winston@telewest.co.uk provided
+                patches to add the following extended NNTP commands to
+                NNTPClient: XOVER, AUTHINFO USER, AUTHINFO PASS, and
+                LIST ACTIVE.
+            </action>
+            <action dev="dfs" type="fix">
+                Changed connection hooks for FTP, SMTP, POP3, and NNTP classes
+                to force use of an 8-bit US-ASCII superset (ISO-8859-1) for
+                protocol communication.  This was necessary because
+                InputStreamReader and OutputStreamWriter use the default
+                client-side character set encoding.  fasselin@ca.ibm.com
+                reported failure of SMTP on OS/390 which has EBCDIC as the
+                native character set.
+            </action>
+
+            <action dev="dfs" type="fix">
+                Applied variation of fix suggested by Matthieu Recouly
+                matthieu.recouly@laposte.net so that
+                UnixFTPEntryParser may handle listings of the form:
+                    "drwxr-xr-x 1 usernameftp 512 Jan 29 23:32 prog"
+                where the space between user name and group is omitted.
+            </action>
+            <action dev="dfs" type="fix">
+                Applied patch from Stephane Este-Gracias
+                sestegra@free.fr that fixes the parsing of
+                VMS listings by VMSFTPEntryParser..
+            </action>
+            <action dev="brekke" type="fix">
+                If the buffer queue run full, the run() method sometimes hangs forever.
+                Changed wait() to wait(100) as with other changes in TelnetInputStream.
+                Fix submitted From: J. Matysiak ( j.matysiak@cenit.de ).
+            </action>
+            <action dev="brekke" type="fix">
+                FTP.smnt(String dir) was not passing on the dir to the SMNT command as an argument.
+            </action>
+            <action dev="brekke" type="add">
+                Added a link to the FAQ currently hosted on the Apache Wiki.
+            </action>
+            <action dev="dfs" type="update">
+                Changed package private NNTP._reader and NNTP._writer member
+                variables to protected NNTP._reader_ and NNTP._writer_
+                variables as suggested by issue report 16995 to facilitate
+                extending NNTPClient functionality in subclasses.
+            </action>
+            <action dev="dfs" type="update">
+                Changed name of FTPClient.__openDataConnection() to
+                FTPClient._openDataConnection_() to remain consistent
+                with the convention in the code that protected members
+                are of the form _foo_.  At some point __openDataConnection()
+                had been changed from private to protected.
+            </action>
+            <action dev="brekke" type="add">
+                Added terminal option support to the telnet client with tests.
+                From Bruno D'Avanzo ( b.davanzo@inwind.it ).
+            </action>
+            <action dev="scohen" type="add">
+                New parsers merged with mainline with support for old list parsers.
+            </action>
+        </release>
+
+        <release version="1.0.0" date="February 23, 2003" description="first jakarta-commons release">
+            <action dev="brekke" type="add">
+                Added a migration document for moving from NetComponents to Commons/Net.
+            </action>
+            <action dev="brekke" type="fix">
+                Moved the ftp2 tree with tests to a proposal directory and setup
+                a build for that code.  This can grow in this area so users don't
+                think it is production ready.
+            </action>
+            <action dev="dfs" type="fix">
+                Cleaned up license header on some source.
+            </action>
+            <action dev="dfs" type="fix">
+                Moved .io and .util to .net.io and .net.util in preparation for
+                1.0 release.
+            </action>
+            <action dev="dfs" type="fix">
+                Fixed typo in NNTP.removeProtocolCommandListener() method name.  It
+                was missing an L.  From: joev@atg.com.
+            </action>
+            <action dev="brekke" type="add">
+                Various site updates including this changes doc and publish
+                date information.
+            </action>
+            <action dev="dfs" type="fix">
+                Patch for restarting FTP file transfers.  The offset was not
+                being sent immediately before the data transfer command on
+                account.  The bug was apparently introduced in NetComponents
+                when it was decided to always send a PORT command before each data
+                transfer to avoid socket reuse problems on Windows.
+                From: Tapan Karecha ( tapan@india.hp.com ).
+            </action>
+            <action dev="dfs" type="fix">
+                Applied a fix for potential deadlock in TelnetInputStream by
+                changing a wait() to a wait(100).
+                From: Tapan Karecha ( tapan@india.hp.com ).
+            </action>
+            <action dev="dfs" type="update">
+                FTP examples now use passive ftp connections.
+            </action>
+        </release>
+    </body>
+</document>

Added: commons/sandbox/rdf/trunk/src/changes/release-notes.vm
URL: http://svn.apache.org/viewvc/commons/sandbox/rdf/trunk/src/changes/release-notes.vm?rev=1646331&view=auto
==============================================================================
--- commons/sandbox/rdf/trunk/src/changes/release-notes.vm (added)
+++ commons/sandbox/rdf/trunk/src/changes/release-notes.vm Wed Dec 17 20:18:21 2014
@@ -0,0 +1,107 @@
+## Licensed to the Apache Software Foundation (ASF) under one
+## or more contributor license agreements.  See the NOTICE file
+## distributed with this work for additional information
+## regarding copyright ownership.  The ASF licenses this file
+## to you under the Apache License, Version 2.0 (the
+## "License"); you may not use this file except in compliance
+## with the License.  You may obtain a copy of the License at
+##
+##  http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing,
+## software distributed under the License is distributed on an
+## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+## KIND, either express or implied.  See the License for the
+## specific language governing permissions and limitations
+## under the License.
+              Apache ${project.name}
+                  Version ${version}
+                 RELEASE NOTES
+
+The ${developmentTeam} is pleased to announce the release of Apache ${project.name} ${version}
+
+$introduction.replaceAll("(?<!\015)\012", "
+").replaceAll("(?m)^ +","")
+
+## N.B. the available variables are described here:
+## http://maven.apache.org/plugins/maven-changes-plugin/examples/using-a-custom-announcement-template.html
+## Hack to improve layout: replace all pairs of spaces with a single new-line
+$release.description.replaceAll("  ", "
+")
+
+## set up indent sizes. Only change indent1
+#set($props=${project.properties})
+#set($jiralen=$props.get("commons.jira.id").length())
+## indent1 =   POOL-nnnn:
+#set($blanklen=$jiralen+6)## +6 for "-nnnn:"
+## must be at least as long as the longest JIRA id
+#set($blanks="                                  ")
+#set($indent1=$blanks.substring(0,$blanklen))
+## indent2 allows for issue wrapper
+#set($indent2="$indent1   ")
+##
+#macro ( processaction )
+## Use replaceAll to fix up LF-only line ends on Windows.
+#set($action=$actionItem.getAction().replaceAll("\n","
+"))
+## Fix up indentation for multi-line action descriptions
+#set($action=$action.replaceAll("(?m)^  +",$indent2))
+#if ($actionItem.getIssue())
+#set($issue="$actionItem.getIssue():")
+## Pad shorter issue numbers
+#if ($issue.length() < $indent1.length())#set ($issue="$issue ")#end
+#if ($issue.length() < $indent1.length())#set ($issue="$issue ")#end
+#if ($issue.length() < $indent1.length())#set ($issue="$issue ")#end
+#else
+#set($issue=$indent1)
+#end
+#if ($actionItem.getDueTo())
+#set($dueto=" Thanks to $actionItem.getDueTo().")
+#else
+#set($dueto="")
+#end
+o $issue ${action}$dueto
+#set($action="")
+#set($issue="")
+#set($dueto="")
+#end
+##
+#if ($release.getActions().size() == 0)
+No changes defined in this version.
+#else
+Changes in this version include:
+
+#if ($release.getActions('add').size() !=0)
+New features:
+#foreach($actionItem in $release.getActions('add'))
+#processaction()
+#end 
+#end
+
+#if ($release.getActions('fix').size() !=0)
+Fixed Bugs:
+#foreach($actionItem in $release.getActions('fix'))
+#processaction()
+#end
+#end
+
+#if ($release.getActions('update').size() !=0)
+Changes:
+#foreach($actionItem in $release.getActions('update'))
+#processaction()
+#end
+#end
+
+#if ($release.getActions('remove').size() !=0)
+Removed:
+#foreach($actionItem in $release.getActions('remove'))
+#processaction()
+#end
+#end
+## End of main loop
+#end
+
+For complete information on ${project.name}, including instructions on how to submit bug reports,
+patches, or suggestions for improvement, see the Apache ${project.name} website:
+
+${project.url}
\ No newline at end of file

Added: commons/sandbox/rdf/trunk/src/main/assembly/bin.xml
URL: http://svn.apache.org/viewvc/commons/sandbox/rdf/trunk/src/main/assembly/bin.xml?rev=1646331&view=auto
==============================================================================
--- commons/sandbox/rdf/trunk/src/main/assembly/bin.xml (added)
+++ commons/sandbox/rdf/trunk/src/main/assembly/bin.xml Wed Dec 17 20:18:21 2014
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<assembly
+  xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
+    <id>bin</id>
+    <formats>
+        <format>tar.gz</format>
+        <format>zip</format>
+    </formats>
+    <fileSets>
+        <fileSet>
+            <includes>
+                <include>README*</include>
+                <include>LICENSE*</include>
+                <include>NOTICE*</include>
+                <include>RELEASE-NOTES.txt</include>
+            </includes>
+        </fileSet>
+        <fileSet>
+            <directory>target</directory>
+            <outputDirectory></outputDirectory>
+            <includes>
+                <include>commons-net-${project.version}.jar</include>
+            </includes>
+        </fileSet>
+        <fileSet>
+            <directory>target/site/apidocs</directory>
+            <outputDirectory>apidocs</outputDirectory>
+            <includes>
+                <include>**/*</include>
+            </includes>
+        </fileSet>
+        <!-- Include sources jar for IDEs -->
+        <fileSet>
+            <directory>target</directory>
+            <outputDirectory></outputDirectory>
+            <includes>
+                <include>commons-net-${project.version}-sources.jar</include>
+            </includes>
+        </fileSet>
+        <!-- Include examples as binary jar -->
+        <fileSet>
+            <directory>target</directory>
+            <outputDirectory></outputDirectory>
+            <includes>
+                <include>commons-net-examples-${project.version}.jar</include>
+            </includes>
+        </fileSet>
+        <!-- Include example sources for developers -->
+        <fileSet>
+            <directory>src/main/java/examples</directory>
+            <outputDirectory>examples</outputDirectory>
+            <includes>
+                <include>**/*</include>
+            </includes>
+        </fileSet>
+    </fileSets>
+</assembly>

Added: commons/sandbox/rdf/trunk/src/main/assembly/src.xml
URL: http://svn.apache.org/viewvc/commons/sandbox/rdf/trunk/src/main/assembly/src.xml?rev=1646331&view=auto
==============================================================================
--- commons/sandbox/rdf/trunk/src/main/assembly/src.xml (added)
+++ commons/sandbox/rdf/trunk/src/main/assembly/src.xml Wed Dec 17 20:18:21 2014
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<assembly
+  xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
+  <id>src</id>
+  <formats>
+    <format>tar.gz</format>
+    <format>zip</format>
+  </formats>
+  <baseDirectory>${artifactId}-${version}-src</baseDirectory>
+  <fileSets>
+    <fileSet>
+      <includes>
+        <include>README*</include>
+        <include>LICENSE*</include>
+        <include>NOTICE*</include>
+        <include>RELEASE-NOTES.txt</include>
+        <include>pom.xml</include>
+        <include>findbugs-exclude-filter.xml</include>
+        <include>checkstyle*.xml</include>
+      </includes>
+    </fileSet>
+    <fileSet>
+      <directory>src</directory>
+    </fileSet>
+  </fileSets>
+</assembly>
+

Added: commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/BNode.java
URL: http://svn.apache.org/viewvc/commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/BNode.java?rev=1646331&view=auto
==============================================================================
--- commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/BNode.java (added)
+++ commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/BNode.java Wed Dec 17 20:18:21 2014
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.commons.rdf;
+
+/**
+ * A Blank Node, extends a NonLiteral. represents a resource, 
+ * but does not indicate a URI for the resource. Blank nodes act like 
+ * existentially qualified variables in first order logic. 
+ *
+ * @author reto
+ */
+public class BNode implements NonLiteral {
+
+}

Added: commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/Graph.java
URL: http://svn.apache.org/viewvc/commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/Graph.java?rev=1646331&view=auto
==============================================================================
--- commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/Graph.java (added)
+++ commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/Graph.java Wed Dec 17 20:18:21 2014
@@ -0,0 +1,55 @@
+ /*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.commons.rdf;
+
+/**
+ * A graph, modeled as a set of triples.
+ * This interface does not extend java.util.Set because of the different 
+ * identity constraints, i.e. two <code>Graph</code>s may be equal (isomorphic) 
+ * even if the set of triples are not.
+ * 
+ * Implementations MUST be immutable and throw respective exceptions, when 
+ * add/remove-methods are called.
+ * 
+ * @see org.apache.clerezza.rdf.core.impl.AbstractGraph
+ * @author reto
+ *
+ */
+public interface Graph extends TripleCollection {
+
+    /** 
+     * Returns true if two graphs are isomorphic
+     * 
+     * @return true if two graphs are isomorphic
+     */
+    @Override
+    public boolean equals(Object obj);
+
+    /** 
+     * Return the sum of the blank-nodes independent hashes of the triples. 
+     * More precisely the hash of the triple is calculated as follows:
+     * (hash(subject) >> 1) ^  hash(hashCode) ^ (hash(hashCode) << 1)
+     * Where the hash-fucntion return the hashCode of the argument 
+     * for grounded arguments and 0 otherwise. 
+     * 
+     * @return hash code
+     */
+    @Override
+    public int hashCode();
+}
\ No newline at end of file

Added: commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/InvalidLiteralTypeException.java
URL: http://svn.apache.org/viewvc/commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/InvalidLiteralTypeException.java?rev=1646331&view=auto
==============================================================================
--- commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/InvalidLiteralTypeException.java (added)
+++ commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/InvalidLiteralTypeException.java Wed Dec 17 20:18:21 2014
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.commons.rdf;
+
+/**
+ * Thrown when a literal is of the wrong type for conversion to a java-type
+ *
+ * @author reto
+ */
+public class InvalidLiteralTypeException extends RuntimeException {
+    
+    /**
+     * Constructs the exception to be thrown when a literal cannot be 
+     * converted to an instance of the specified class
+     *
+     * @param javaType the <code>Class</code> to convert to
+     * @param literalType the literalType which can't be converted
+     */
+    public InvalidLiteralTypeException(Class<?> javaType, UriRef literalType) {
+        super("Cannot create a "+javaType+" from a literal of type "+literalType);
+    }
+}