Hi!
This is, indeed, a compatibility issue. However, I assume it's caused because you did not use the decorator pattern when you applied your custom Application implementation, so now you're inheriting from the default implementation method behavior, which is to throw an UnsupportedOperationException.
Sure, but what can I do other than from inherit from javax.faces.application.Application? I am not aware of any other wrapper class.
I have to simple classes:

public class OrchestraApplicationFactory extends ApplicationFactory
{
   private final ApplicationFactory original;

   public OrchestraApplicationFactory(ApplicationFactory original)
   {


public class OrchestraApplication extends Application
{
   private final Application original;

   public OrchestraApplication(Application original)
   {
       this.original = original;
   }

with implementing all the JSF 1.1 stuff and dispatch to this orignial implementation. The factory simply create the application from the original factory and wraps it using the OrchestraApplication. I dont see how I can create a JSF 1.2 compatible Application with just the JSF 1.1 libs.

    So, I'd say upward API compatibility is broken here.


I call that a backward compatibility issue, since you're trying to execute an application developed with an older API with a newer version.
Hehe - ok - I wont stress this :-)

Ciao,
Mario

Reply via email to