Coder Social home page Coder Social logo

Comments (13)

glassfishrobot avatar glassfishrobot commented on September 28, 2024

Reported by kenpaulsen

from jsf-extensions.

glassfishrobot avatar glassfishrobot commented on September 28, 2024

@edburns said:
This is a dup of Ken's other issue.

      • This issue has been marked as a duplicate of 35 ***

from jsf-extensions.

glassfishrobot avatar glassfishrobot commented on September 28, 2024

kenpaulsen said:
This is a different issue.

Issue 35 relates to using encodeAll(), which isn't available to JSF 1.1
ViewHandlers making those ViewHandlers incompatible with DynamicFaces.

This issue relates to the UIViewRoot. Other frameworks which also provide a
UIViewRoot must extend from DynamicFaces UIViewRoot... or it is impossible to
work with DynamicFaces. This issue asks that UIViewRoot functionality either be
implemented w/o subclassing, or that an interface be provided to more cleanly
integrate other frameworks with DynamicFaces.

I will reopen this issue.

Thanks!

Ken

from jsf-extensions.

glassfishrobot avatar glassfishrobot commented on September 28, 2024

@edburns said:
Created an attachment (id=10)
Fix for this bug, first iteration

from jsf-extensions.

glassfishrobot avatar glassfishrobot commented on September 28, 2024

@edburns said:
Fix checked in.

from jsf-extensions.

glassfishrobot avatar glassfishrobot commented on September 28, 2024

kenpaulsen said:
Reopening b/c changes were rolled back temporarily.

from jsf-extensions.

glassfishrobot avatar glassfishrobot commented on September 28, 2024

@edburns said:
Re-fixed this on the HEAD.

from jsf-extensions.

glassfishrobot avatar glassfishrobot commented on September 28, 2024

kenpaulsen said:
As currently written a UIViewRoot implemenation must also have the following
methods implemented with Dynamic Faces specific code:

  • public Constructor();
  • public void processDecodes(FacesContext context);
  • public void processValidators(FacesContext context);
  • public void processUpdates(FacesContext context);
  • public boolean getRendersChildren();
  • public void encodeBegin(FacesContext context) throws IOException;
  • public void encodeChildren(FacesContext context) throws IOException;
  • public void encodeEnd(FacesContext context) throws IOException;
  • protected void broadcastEvents(FacesContext context, PhaseId phaseId);

This is in addition to the new interface methods defined:

  • public void postExecuteCleanup(FacesContext context);
  • public void encodePartialResponseBegin(FacesContext context) throws
    IOException;
  • public void encodePartialResponseEnd(FacesContext context) throws IOException;

It is currently still very difficult to provide a different "Dynamic Faces
compatible" UIViewRoot without rewriting all the DF impl's functionality because:

  • Dependencies on private methods (invokeCallbackOnSubtrees and
    cealnupAfterView)
  • Dependencies on private classes (PhaseAwareContextCallback and
    EscapeCDATAWriter)
  • Dependency on protected method (broadcastEvents)
  • Requirement that ViewRoot be at the Root of a UIComponent tree, etc.

Instead of providing the implementation required in the UIViewRoot in a subclass
of the UIViewRoot, we should provide this implementation in a different "helper"
class that perform the work. The methods in this "helper" class would need to
accept the UIViewRoot (or perhaps, PartialTraversalViewRoot) on which to
operate. The default DF ViewRoot impl and other implementations could utilize
this helper class to more easily provide a functional DF implementation (and
make for more maintainable code).

Ken

from jsf-extensions.

glassfishrobot avatar glassfishrobot commented on September 28, 2024

kenpaulsen said:
I committed the proposed changes. The PartialTraversalViewRootHelper class now
exists to assist in creating PartialTraversalViewRoot implementations.

from jsf-extensions.

glassfishrobot avatar glassfishrobot commented on September 28, 2024

File: message.txt
Attached By: @edburns

from jsf-extensions.

glassfishrobot avatar glassfishrobot commented on September 28, 2024

Was assigned to jsf-extensions-issues

from jsf-extensions.

glassfishrobot avatar glassfishrobot commented on September 28, 2024

This issue was imported from java.net JIRA JSF_EXTENSIONS-36

from jsf-extensions.

glassfishrobot avatar glassfishrobot commented on September 28, 2024

Marked as fixed on Monday, February 26th 2007, 7:45:09 am

from jsf-extensions.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.