....
Kabe
On 10/18/06, Jerome Louvel <[EMAIL PROTECTED]> wrote:
FYI, I've just updated the snapshot to fix a regression:
- Fixed handler starting bug (forcing status to 501).
- Optimized the ByteUtils.write(is, os) method.
http://www.restlet.org/downloads/current.zip
Thanks,
Jerome
> -----Message d'origine-----
> De : Jerome Louvel
> Envoyé : mardi 17 octobre 2006 14:05
> À : Restlet discuss
> Objet : New snapshot of beta 19
>
>
> Hi all,
>
> The next release has been delayed several times already,
> sorry for that. This time I'm confident to release this week,
> probably on Friday, unless unexpected bugs occur over the
> week. As it contains numerous changes, any effort to test the
> latest snapshot is very welcome.
>
> Beware that significant changes were done to the API. Check
> the changes log, the updated examples and the Javadocs in the
> distribution. The code is stable and all known bugs are
> fixed. Support for the Servlet adapter has been upgraded to
> work with Applications.
>
> I've copied below the full changes log. The snapshot is available at:
> http://www.restlet.org/downloads/current.zip
>
> Best regards,
> Jerome Louvel
>
> ---
> 1.0 beta 19 (2006-10-17)
>
> [Bugs fixed]
> - Fixed issue with error status preventing the setting of
> response headers with Servlet containers like Tomcat. Report
> and solution by Evan DiBiase.
> - Completed support for content streaming in the HTTP client
> connector extension. Issue reported by Mikkel Jensen.
> - Fixed bug in ParameterList.getFirstValue(String, boolean)
> ignoring the "ignoreCase" parameter.
> - Fixed issue with ServerServlet preventing the returning of
> an output representation with an error status code. Reported
> by Sean Landis.
> - Fixed incomplete plugin descriptors for some extensions.
> - Added workaround for JDK's bug #6472250 when using the
> fixed length mode with the HTTP client.
>
> [API breaking changes]
> - Renamed Representation.isContentAvailable() to
> isAvailable() and isContentTransient() to isTransient().
> - Merged Client and GenericClient into a single Client class.
> - Moved com.noelios.restlet.connector into hidden
> com.noelios.restlet.impl.connector package.
> - Moved internal utilities from com.noelios.restlet.util
> into hidden com.noelios.restlet.impl.util package.
> - Moved com.noelios.restlet.spi into hidden
> com.noelios.restlet.impl package.
> - Moved org.restlet.component.ContainerContext to
> com.noelios.restlet.impl.component.ContainerContext .
> - Renamed Server."next" property into "target". "Next" was
> assuming that a previous Restlet existed, which is false for
> Server connectors.
> - Moved com.noelios.restlet.util.WrapperMap into org.restlet.util.
> - Removed Restlet.compareTo() method. No apparent usage.
> - Renamed Reference.getProtocol() into getSchemeProtocol().
> - Scorer now derives from Filter to improve factorization.
> - Renamed Handler into Finder. Note: Handler is still used,
> but for a new purpose!
> - Renamed DirectoryHandler* classes into DirectoryFinder*.
> - Added Context.getClient() returning a generic ClientInterface.
> - Removed get/post/put/delete methods on Context as
> getClient() is preferred.
> - Added a post() method on Resource returning an instance of
> the new org.restlet.data.Result class as well as put() and delete().
> - Renamed Chainer.findNext(Call) into getNext(Call). Chainer
> is now abstract.
> - Scorer is now abstract to force implementation of the
> score() method.
> - Renamed "name" property into "agent" for ClientData and ServerData.
> - Added "name" (for domain name) and "port" properties to
> ServerData, matching HTTP's "Host" header.
> - Refactored HttpCall and related classes to better handle
> and preserve the "Host" header information.
> - Renamed CallModel variable "clientName" into
> "client.agent" and "serverName" into "server.agent", also
> "serverAddress" into "server.address " and "clientAddress"
> into "client.address".
> - Removed Context.getClient(protocol) method, now Context
> directly implements ClientInterface.
> - Replaced com.noelios.restlet.HostRouter by a portable
> org.restlet.component.VirtualHost class. See updated tutorial
> to know how to migrate.
> - Moved com.noelios.restlet.PatternScorer to
> com.noelios.restlet.impl.PatternScorer as this is related to
> the API implementation.
> - Refactored and completed the Application class to act as a
> portable component, deployable on any Restlet engine and
> any (virtual) host without any change.
> - Moved "root" property from Component to Application.
> - Added new org.restlet.component.VirtualHost class, as a
> Router subclass to target applications or handlers.
> - Split org.restlet.Call into org.restlet.Request and
> org.restlet.Response to solve overweight issue. Suggested by
> Piyush Purang.
> Also added a parent Message class following the HTTP
> semantics. Merged "input" and "output" properties into a
> single "entity" property on Message.
> - Merged AbstractResource and Resource into a single Resource class.
> - Merged AbstractRepresentation and Representation into a
> single Representation class.
> - Removed the "com.noelios.restlet.builder" package as the
> new Application feature broke this approach and makes it less useful.
> We may reintroduce a refactored version in a later release.
> - Moved LogFilter and StatusFilter to com.noelios.restlet.impl.
> - Moved ClientList and ServerList to org.restlet.util
> - Moved ScorerList to org.restlet.util and changed it to an
> interface.
> - Renamed ClientData and ServerData to ClientInfo and
> ServerInfo to be less ambiguous about the type of data.
> Also renamed "Response.server" property to "serverInfo"
> and " Response.client" property to "clientInfo".
> - Moved EmptyValue to org.restlet.util.
> - Renamed ConditionData to Conditions.
> - ServerServlet now only works with applications as target.
> Review updated Javadocs before upgrading.
> - GuardFilter now logs messages via the context's logger.
> Changed constructor.
> - Moved all remaining classes of org.restlet.component and
> org.restlet.connector into org.restlet for simplification
> purpose. Suggested by Piyush Purang.
> - Added Holder filter to hold an attached handler and apply
> call logging and status setting.
> - Refactored hierarchy : Restlet, Chainer, Connector and
> Component directly derive from base Handler class.
> - Extended usage of contexts.
> - Removed WrapperRestlet class, replaced by a wrapping
> constructor on Restlet.
> - Renamed "input" and "output" to "entity" or "request" or
> "response" in all properties name for CompressFilter,
> DecompressFilter,
> ExtractFilter, HttpClientCall, HttpServerCall, Result
> - Moved ClientInterface to org.restlet.util.
> - Replaced WrapperCall by wrapper constructors on Message,
> Request and Response.
> - Replaced WrapperRepresentation by wrapper constructors on
> Resource and Representation.
>
> [Other changes]
> - Updated Jetty 6 extension to 6.0.1 release and Jetty 5
> extension to 5.1.11 release.
> - Added Resource.setVariants() and setIdentifiers() methods.
> Can be easier than doing a getVariants().clear() then a
> getVariants().addAll(newList).
> Suggested by Chris Winters.
> - org.restlet.ReferenceList now derives from
> WrapperList<Reference> to factorize code and to clarify (in
> Javadocs) which extra methods are provided.
> - Improved Javadocs for the org.restlet.Handler class to
> explain what is the default behavior of each handle*() method.
> - Refactored all HTTP client and server classes to work with
> the new call converter mechanism.
> - Renamed AbstractHttpServer to HttpServer,
> AbstractHttpServerCall to HttpServerCall and
> AbstractHttpClientCall to HttpClientCall.
> - Merged HttpCall interface and DefaultHttpCall class into
> single HttpCall class.
> - Added com.noelios.restlet.connector.HttpServerConverter as
> the base call converter (from HTTP calls to uniform REST calls).
> - Refactored the HttpUrlConnection-based HTTP client to
> extract a generic HttpClientConverter and added a base
> HttpClient class.
> - Added support of HTTP headers in high-level calls. The
> headers are available in
> Request|Response.getAttributes().get(" org.restlet.http.
> headers") as an instance of ParameterList. Additional
> headers can also be added by setting a "org.restlet.http.headers"
> attribute in Request or Response. Note that only
> non-standard HTTP headers are allowed to be added to prevent
> conflicts with the connector's behavior.
> - Added sample application illustrating the access raw HTTP
> headers. Used suggestion from John D. Mitchell.
> - Added static valueOf() methods to ChallengeScheme,
> CharacterSet, Encoding, Language, MediaType, Method, Protocol
> and Status.
> Sometimes renamed existing create() method. Suggested by
> Piyush Purang.
> - Clarified the Javadocs of root classes in org.restlet.
> - Added more constructors to Chainer, Context, Filter and Finder.
> - Added a Message.setEntity(String, MediaType) method
> facilitating the setting of string-based entities.
> - Fully updated the FAQ.
> - Updated pictures in the tutorial to reflect the latest API
> changes (Application, hierarchy changes, etc.).
> - Form handling code don't throw IO exceptions anymore for
> Call.getInputAsForm() and Reference.getQueryAsForm(). Issue
> reported by Piyush Purang.
> - Added modification support (PUT and DELETE) to
> DirectoryFinder. Suggested by Don Dwoske and John D. Mitchell.
> Implementation contributed by Thierry Boileau.
> - Added "protocol" property on Call.
> - Added FTP constant to Protocol.
> - Improved detection of default ports in
> Reference.toString() static methods. Added new toString() variant.
> - HTTP client connectors now set the "Host" header manually
> when proper information is found via Call.getServer()."name"
> and "port".
> - Refactored the parsing/construction of the target resource
> reference to handle both relative and absolute URIs.
> - Improved robustness of Reference when handling relative URIs.
> - Added a "javadoc-hide" property to "build.properties" to
> hide the Javadocs of implementation packages (true by default).
> - Added shortcut attach/detach methods to Router, equivalent
> to getScorers().add()/removeAll().
> - Method Filter.getNext(Call) is now final to prevent
> overriding. If needed, use Chainer as base class.
> - Added ScorerList.removeAll(UniformInterface) method to
> remove all scorers pointing to a given handler.
> - Added Protocol.ALL constant as a protocol wildcard.
> - Added "hosts" and "localHost" properties to Container.
> - Added support "Allow" HTTP headers. New allow*() methods
> added on Resource and support for setting the 405 status in
> the Finder (ex-Handler) class.
> The list of allowed methods is then set to the Response
> (ex-Call) object. Subclasses of Finder can customize the list
> of allowed methods.
> Suggested by AJ Barnes and Lars Heuer.
> - Updated tutorial examples to leverage application concept.
> - Refactored all usages of the JDK's loggers in order to
> reuse the Context's logger, allowing separation of messages
> for each application.