Wrong snapshot

2009-07-15 Thread Lars Heuer
Hi Jerome, http://www.restlet.org/downloads/ delivers the wrong snapshot. When someone tries to download http://www.restlet.org/downloads/snapshot.zip a restlet-1.2-snapshot is delivered. According to the changes.txt the snapshot was created at 2009-05-16. Best regards, Lars -- Semagia

Timeline for Restlet M4?

2009-07-01 Thread Lars Heuer
Hi Jérôme co., Do you have an idea when the remaining bugs [1] are resolved? In a project I tried to support Restlet 1.x and 2.x but recently I switched over to Restlet 2.0M3 due to API incompatibilities. Now I've got the request if it wouldn't be better to switch back to Restlet 1.x. :) I

Restlet 1.2 -- Filter

2009-04-10 Thread Lars Heuer
Hi all, I ran against a problem with the 1.2 Filter. The filter does not let me specify that 'next' is a ServerResource. I propose to change Filter as follows: - Add method setNext(Class? extends UniformResource targetClass) or setNext(Class? targetClass) - Remove setNext(Class? extends

Re: Google AppEngine and Restlet

2009-04-10 Thread Lars Heuer
[...] Just out of curiosity: Has someone tried Google AppEngine [1] together with Restlet (Servlet connector)? I ran a few toy applications against the Google AppEngine SDK and discovered no problems so far. Best regards, Lars -- http://www.semagia.com

Re: Google AppEngine and Restlet

2009-04-10 Thread Lars Heuer
Hi Jérôme, When using third-party libraries with GAE SDK, you have to be careful because those libraries are not verified against the available Java classes (white list). Therefore, it will work locally but break at deployment time! Are you sure? I understood the purpose of the SDK that it

Re: Comments against Restlet 1.2M2

2009-04-09 Thread Lars Heuer
Hi all, [...] Some comments against that release: [...] I like to add another point: Rename ServerResource#isExists to isExisting(). isExists hurts me. ;) It would make sense to rename setExists(boolean) as well. Best regards, Lars -- http://www.semagia.com

Re: Annotations and Restlet's future

2009-04-08 Thread Lars Heuer
Hi Rémi, Will annotations in restlet the advertised way of creating restlet application ? I moved to Restlet 1.2 M2/snapshot without using annotations. I found no reason why these annotations will help me. Everything works fine without annotations and I think/hope Restlet won't force us to use

Google AppEngine and Restlet

2009-04-08 Thread Lars Heuer
Hi all, Just out of curiosity: Has someone tried Google AppEngine [1] together with Restlet (Servlet connector)? [1] http://code.google.com/intl/de/appengine/docs/java/gettingstarted/ Best regards, Lars -- http://www.semagia.com --

Comments against Restlet 1.2M2

2009-04-02 Thread Lars Heuer
Hi all, First of all, I love the RepresentationInfo. :) Thanks for adding this. :) Some comments against that release: - I wonder how to create a RepresentationInfo since it is abstract; for the time being I created my own RepresentationInfo class derived from the abstract class. - Wouldn't

Re: Restlet 1.1.1 released

2008-11-01 Thread Lars Heuer
Hi Jérôme, [...] Download links: http://www.restlet.org/downloads/1.1/restlet-1.1.1.exe http://www.restlet.org/downloads/1.1/restlet-1.1.1.zip I wonder if it has been discussed before, but imo it would be nice if the Restlet libs would have the version number encoded in the name, like several

Re: Restlet 1.1: Rationale behind deprecation of Variant#setModificationDate

2008-10-27 Thread Lars Heuer
Hi Jerome, [...] I think there is room for optimization but this would lead to some significant refactoring. Let's have a look at this for Restlet 2.0: Optimize conditional handling http://restlet.tigris.org/issues/show_bug.cgi?id=633 Thanks, for the time being I'll handle that use case

Re: Restlet 1.1: Rationale behind deprecation of Variant#setModificationDate

2008-10-26 Thread Lars Heuer
Hi again, I tried to find out why Variant#setModificationDate(Date) and several other methods are deprecated. I wasn't able to find a rationale for it. Maybe someone can explain it? I found the revision dtd. 2007-07-21 10:27:14-0700:

Re: Restlet 1.1: Rationale behind deprecation of Variant#setModificationDate

2008-10-26 Thread Lars Heuer
Hi Jérôme, [...] The change was made because the Variant class is only needed for the purpose of content negotiation. Also, the expirationDate, modificationDate, tag and size properties can be costly to retrieve (some I/O needed) so it seemed better to not imply that they should be

Restlet 1.1: Rationale behind deprecation of Variant#setModificationDate

2008-10-25 Thread Lars Heuer
Hi all, I tried to find out why Variant#setModificationDate(Date) and several other methods are deprecated. I wasn't able to find a rationale for it. Maybe someone can explain it? Variants are very cheap while Representations are more expensive. I think it is a Good Thing if a client can be

Re: GroovyRestlet, a simple DSL for constructing Restlet application easily

2008-02-26 Thread Lars Heuer
Hi Jerome, This is excellent and will remind to some long Restlet users an experience that was made on fluent builders early in API design. Lars are you around? :) Nice project keke! :) Best regards, Lars -- http://www.semagia.com

RESTClient

2007-11-30 Thread Lars Heuer
Hi all, Got this today via Freshmeat: RESTClient is a Java platform client application to test RESTful webservices. http://code.google.com/p/rest-client/ Best regards, Lars -- http://www.semagia.com

Another RESTful Java project: Restfulbeans

2007-03-27 Thread Lars Heuer
Hi all, Today, this project was announced at Freshmeat https://restfulbeans.dev.java.net/ Freshmeat description: RestfulBeans is a high level API for sharing objects between a server and a Java-based client. The underlying protocol is designed to expose the data consumed by a rich client

Re: mina

2006-11-19 Thread Lars Heuer
Hi Jerome, We indeed have this dependency on AsyncWeb, but they seems to be working on updating it for MINA 1.0: BTW: Today MINA 0.8.4 was released. This is a bug-fix release and the should be the last 0.8-branch release. Maybe you like to update MINA with the last version (I haven't tested it

Re: NRE HttpServerCall

2006-11-09 Thread Lars Heuer
[...] the method first checks for an ResponseStream and if the stream is null it checks for an ResponseChannel (line 224). [...] Shouldn't that be done the other way around? The channel should be preferred. While thinking about it, I wonder if we need the Input/Outputstream at all. Why do we

Re: NRE HttpServerCall

2006-11-09 Thread Lars Heuer
[...] While thinking about it, I wonder if we need the Input/Outputstream at all. Why do we not work with Channels / ByteBuffers only? Naaahh... forget it, keep both! :) Best regards, Lars -- http://www.semagia.com

Re: mina

2006-11-09 Thread Lars Heuer
Hi Piyush, Any plans to upgrade to the latest mina release (1.0 released in October)? Since AsyncWeb still uses Mina 0.8 and Mina 1.0 contains compatibility breaks, we have to wait for AsyncWeb (or write our own HTTP server). Best regards, Lars -- http://www.semagia.com

b19 - Application

2006-10-19 Thread Lars Heuer
Hi Jerome, You've requested a feedback for the new Application feature. Unfortunally I am unable to give feedback before next Monday. Sorry. I am busy with aligning one of my projects to b19 but I didn't enter the 'higher' Application level, yet. :/ Best regards, Lars -- http://www.semagia.com

b19 Wrapper (was: Re: b19 - Resource)

2006-10-18 Thread Lars Heuer
Hi Jerome, I've readded the default constructor to Resource (in SVN). I need a way to [...] Merci :) The need for wrapper when further to many other classes as it's the mechanism used to separate the API classes from the implementation classes. So, we need the wrapper classes for the

Re: Breaking Call into Request and Response (Was: Allow Header)

2006-10-07 Thread Lars Heuer
Hi Jerome, [...] Testing over the week-end is very welcome as I'll try to finish/release on Monday if possible. Last night I converted two projects to the new Request/Response style and everything works as expected. Best regards, Lars -- http://www.semagia.com

Allow Header

2006-10-05 Thread Lars Heuer
Hi all, How can I set the HTTP header Allow? If I use the new call.getAttributes(...) method Restlet tells me, that I cannot set the Allow header. Best regards, Lars -- http://www.semagia.com

Re: Allow Header

2006-10-05 Thread Lars Heuer
Hi Jerome, Only non-standard headers can be added via the special attribute. The Allow header is supported at the API level by the Call.getClient().getAccepted*() methods. Thanks, that was one of the places where I looked, but I cannot find a way how to set, i.e. Allow: GET, PUT, OPTIONS

Re: Allow Header

2006-10-05 Thread Lars Heuer
Hi Jerome, [...] Here is the battle plan: - add a method to Call: getAllowedMethods() : ListMethod - add a method to Resource: * allowGet() : boolean (false by default) * allowPost() : boolean (false by default) * allowPut() : boolean (false by default)

Re: Method

2006-10-02 Thread Lars Heuer
Hi Jerome, In the current state, the description (from Metadata super class) and the uri property could be customized for the same method. Okay, I overlooked that. :/ Therefore, unless we remove those properties or forbid their setting, it won't be possible to compare simple object

Re: Method

2006-10-02 Thread Lars Heuer
Hi Jerome, These properties are in fact in the super Metadata class, and used for example with Status instances to display error pages with meaningful descriptions and hyperlinks. Yes, I know and for Status it makes sense. I think Method should not be derived from Metadata because it doen't

Re: b19 - Call converters

2006-09-22 Thread Lars Heuer
[...] If we need to attract some servlet developers later-on maybe it is wise to have a method like getParameter() this will help in transition from servlets to restlets. ... and you can use a WrapperCall if you want additional methods. You can implement shortcuts etc. in your WrapperCall

Re: b19 - Call converters

2006-09-20 Thread Lars Heuer
Hi Jerome, Sorry for my late reply. :) I think you will be happy to know that I've found a simpler solution. Now, the HTTP server|client connectors systematically pass the list of request|response headers as an attribute in the call's attributes map. Looks promising. The only thing I like to

Re: b19 - Call converters

2006-09-20 Thread Lars Heuer
Hi Jerome, Actually, I'm thinking about restlet.http.requestHeaders. This is a bit longer but clearly applies to calls based on the HTTP protocol. Any objection? Nope, good idea. :) Best regards, Lars -- http://www.semagia.com

Re: b19 - Call converters

2006-09-20 Thread Lars Heuer
Hi Piyush, [...] Could we somehow do the same with parameters of the query string? /a/b/c?key1=value1key2=value2 org.restlet.reference.params.key1 org.restlet.reference.params.key2 Why do you think this adds a value? Best regards, Lars -- http://www.semagia.com

Re: b19 - Call converters

2006-09-20 Thread Lars Heuer
Hi Jerome, I was really worried about this issue that you raised, so I'm glad that you like the solution! I hope that you don't mind about the org.restlet prefix change. Go ahead! :) Best regards, Lars -- http://www.semagia.com

b19 - Call converters

2006-09-14 Thread Lars Heuer
Hi Jerome Co., Here an excerpt of a class I use nearly for all projects where Restlet is involved: public class Headers { /** * Constructor that wraps a [EMAIL PROTECTED] org.restlet.data.ParameterList}. * * @param paramList The parameter list instance to wrap. */

Re: b19 - Call converters

2006-09-14 Thread Lars Heuer
Hi again, one follow-up: ((HttpServerRestletCall) call).getConnectorCall().getRequestHeaders() only works with unwrapped calls. That's why I suggested to make WrapperCall#getWrappedCall() public. If it is public I could do something like this: if (call instanceof WrapperCall) {

Re: b19 - Call converters

2006-09-14 Thread Lars Heuer
Hi Jerome, [...] the value of some of them (probably in the case of non-standard HTTP headers?) in your Restlets, then you need to *push* them to the uniform Call instance. This is what the sample converter code demonstrates. Yes. But I cannot give my restlet to another developer and it just

Re: What happened to ConnectorCall???

2006-09-01 Thread Lars Heuer
Hi Mikkel, It seems that the ConnectorCall class has been removed from the API in the latest release (1.0-beta18) Jérôme wants to provide call converters that make it possible to convert a org.restlet.Call into the particular Call implementation but this isn't done yet. What is then the new

Re: What happened to ConnectorCall???

2006-09-01 Thread Lars Heuer
Hi Mikkel, This seems to work fine for server calls, but how about client calls? Good question. :) No idea. I looked into com.noelios.restlet.ext.net.HttpClient.handle(Call call) but it seems that the HttpClient ignores custom HTTP Header values. It only sets i.e. user agent, encoding

Re: What happened to ConnectorCall???

2006-09-01 Thread Lars Heuer
[...] Jérôme wants to provide call converters that make it possible to convert a org.restlet.Call into the particular Call implementation but this isn't done yet. C.f. http://restlet.tigris.org/issues/show_bug.cgi?id=145 Best regards, Lars -- http://www.semagia.com

Re: Converting a DomRepresentation to StringRepresentation

2006-08-29 Thread Lars Heuer
Hi Sean, I have an application that contains a filter that converts incoming XML into a DomRepresenation so that it can be manipulated later as a document. Then, on the return, a document comes to the afterHandler() and I want to transform that into XML to return to the client. How do I

Re: API design review

2006-08-17 Thread Lars Heuer
Hi Jerome, [...] - Make all classes, except those intended to be subclasses, as final. Which ones? - Make classes whose instances don't need to be modified as immutable (members are final). Be careful. Cf. Michael Feathers: It's time to deprecate final

Re: API design review

2006-08-17 Thread Lars Heuer
Hi Piyush, I agree with the very first comment to the message posted on theserverside.com. But I also agree Chris's comment Yes, I think it would be a good idea to wait until we know what people do with Restlet. Maybe the final classes should be postponed till v1.1 or something like that. The

Re: Expected refactoring

2006-07-03 Thread Lars Heuer
Hi Jerome, [...] 1) Add a concept of Restlet Application and refactor the RestletServer and RestletContainer classes accordingly. A RestletApplication should be similar [...] It would be great if the Restlet(Container|Application) could be a base for a OSGi RestletService. OSGi has already

DirectoryHandler - Strange problems

2006-06-30 Thread Lars Heuer
Hi all, Is someone using the DirectoryHandler of beta15? I've encountered strange problems: 1. It seems that the DirectoryHandler slows the app down more than the 'old' DirectoryRestlet 2. Sometimes I get an exception from the ContextClient that the protocol is not supported. But this does

Re: Forms and the list of values

2006-06-08 Thread Lars Heuer
Hi John, [...] Is there a reason this limitation was added? Wouldn't it be better to change getValues() to e.g., getValuesString() and add a ParameterList getValues (name) method? If you only need read-only access to the provided parameters I can offer an alternative that also capable to

Proposal for ConnectorCall

2006-05-27 Thread Lars Heuer
Hi all, Me, myself and I ;) think that it would be nice to add two methods to the ConnectorCall setRequestHeader(String name, String value); setResponseHeader(String name, String value); Sideeffect: If an existing name/value pair exists it is overridden by the specified name/value pair.

Re: Generics at Restlet

2006-05-19 Thread Lars Heuer
Hi Jerome, [...] One issue I'm having is that the Restlet interface is implemented by many classes (connectors, components, etc.). The changes suggested trigger a cascade of other changes in order to prevent warnings like: Type safety: The method handle(Call) belongs to the raw type Restlet.

Re: Generics at Restlet

2006-05-19 Thread Lars Heuer
Hi Jerome, [...] 4) Use a base *Restlet class in your application that will do the cast once That's the way I've solved it with the current Restlet release. [...] What do you think? I think I'll sleep a night over that issue or even better try something out. I'll come back later on this