You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by de...@apache.org on 2017/09/17 12:29:28 UTC

[myfaces-trinidad] branch jwaldman-offline-mode-branch created (now eea09ec)

This is an automated email from the ASF dual-hosted git repository.

deki pushed a change to branch jwaldman-offline-mode-branch
in repository https://gitbox.apache.org/repos/asf/myfaces-trinidad.git.


      at eea09ec  TRINIDAD-2140

This branch includes the following new commits:

     new 880a1a0  offline mode from 1.2.12.6.0-branch
     new 66009c3  Add new offline and web crawler OutputModes with the appropriate capability merging.  The offline mode represents a page that can not POST or GET additional content.
     new 9fa47a8  update the pom files to use a new version
     new 5a64a03  TRINIDAD-2141 add a new 'browser-generic' agent The agent's name is genericDesktop. It represents the lowest common denominator agent for all browsers thanks to Pavitra Subramaniam for the patch
     new abff115  TRINIDAD-2141 add a new 'browser-generic' agent applied patch #JIRA2141 - 10032011.patch this removes the code that creates the genericDekstop agent for the 'offline' output mode. thanks to Pavitra Subramaniam
     new 142170c  Support two-phase construction of Renderers to avoid problems calling virtual functions from constructors
     new eea09ec  TRINIDAD-2140

The 7 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


-- 
To stop receiving notification emails like this one, please contact
['"commits@myfaces.apache.org" <co...@myfaces.apache.org>'].

[myfaces-trinidad] 01/07: offline mode from 1.2.12.6.0-branch

Posted by de...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

deki pushed a commit to branch jwaldman-offline-mode-branch
in repository https://gitbox.apache.org/repos/asf/myfaces-trinidad.git

commit 880a1a0c0191a87fbffcef4eef25eed2b08914e7
Author: Jeanne Waldman <jw...@apache.org>
AuthorDate: Fri Sep 16 23:21:01 2011 +0000

    offline mode from 1.2.12.6.0-branch

-- 
To stop receiving notification emails like this one, please contact
"commits@myfaces.apache.org" <co...@myfaces.apache.org>.

[myfaces-trinidad] 05/07: TRINIDAD-2141 add a new 'browser-generic' agent applied patch #JIRA2141 - 10032011.patch this removes the code that creates the genericDekstop agent for the 'offline' output mode. thanks to Pavitra Subramaniam

Posted by de...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

deki pushed a commit to branch jwaldman-offline-mode-branch
in repository https://gitbox.apache.org/repos/asf/myfaces-trinidad.git

commit abff115176bbe9384c14b8aa6d8b45bd31a1dd45
Author: Jeanne Waldman <jw...@apache.org>
AuthorDate: Mon Oct 3 19:57:25 2011 +0000

    TRINIDAD-2141 add a new 'browser-generic' agent
    applied patch #JIRA2141 - 10032011.patch
    this removes the code that creates the genericDekstop agent for the 'offline' output mode.
    thanks to Pavitra Subramaniam
---
 .../trinidadinternal/agent/AgentFactoryImpl.java   | 30 +---------------------
 1 file changed, 1 insertion(+), 29 deletions(-)

diff --git a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/AgentFactoryImpl.java b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/AgentFactoryImpl.java
index 6295abb..a79542f 100644
--- a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/AgentFactoryImpl.java
+++ b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/AgentFactoryImpl.java
@@ -24,7 +24,6 @@ import java.util.Map;
 import javax.faces.context.FacesContext;
 
 import org.apache.myfaces.trinidad.context.Agent;
-import org.apache.myfaces.trinidad.context.RequestContext;
 import org.apache.myfaces.trinidad.logging.TrinidadLogger;
 
 import org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.XhtmlConstants;
@@ -84,7 +83,6 @@ public class AgentFactoryImpl implements AgentFactory
     {
       Map<String, String> requestParamMap = facesContext.getExternalContext().getRequestParameterMap();
       isEmail = requestParamMap.get(_EMAIL_PARAM);
-      outputMode = requestParamMap.get(_OUTPUTMODE_PARAM);
     }
 
     if ("true".equals(isEmail))
@@ -92,16 +90,7 @@ public class AgentFactoryImpl implements AgentFactory
       _populateEmailAgentImpl(agent);
       return;
     }
-
-    RequestContext reqContext = RequestContext.getCurrentInstance();
-    if ((reqContext != null && 
-        RequestContext.OutputMode.OFFLINE.id().equals(reqContext.getOutputMode())) || 
-        RequestContext.OutputMode.OFFLINE.id().equals(outputMode))
-    {
-      _populateGenericDesktopAgentImpl(agent);
-      return;
-    }
-
+    
     if ((userAgent != null) && userAgent.startsWith("PTG"))
     {
       _populateIaswAgentImpl(userAgent,
@@ -679,21 +668,6 @@ public class AgentFactoryImpl implements AgentFactory
     agentObj.setType(Agent.TYPE_PHONE);
   }
 
-  /** 
-   * Returns an AgentEntry for a generic desktop agent
-   */
-  private void _populateGenericDesktopAgentImpl(AgentImpl agent)
-  {
-    // Generic Desktop agent
-    agent.setType(Agent.TYPE_DESKTOP);
-   
-    agent.setAgent(Agent.AGENT_GENERIC_DESKTOP);
-    agent.setAgentVersion("0.0"); // we don't know the version
-    agent.setPlatform(Agent.PLATFORM_UNKNOWN);
-    agent.setPlatformVersion(Agent.PLATFORM_VERSION_UNKNOWN);
-    agent.setMakeModel(Agent.MAKE_MODEL_UNKNOWN);
-  }
-
 
   /**
    * Returns an AgentEntry for the browsers that use the Gecko Layout Engine.
@@ -1109,8 +1083,6 @@ public class AgentFactoryImpl implements AgentFactory
   }
   static private final String _EMAIL_PARAM =
     "org.apache.myfaces.trinidad.agent.email";
-    static private final String _OUTPUTMODE_PARAM =
-      "org.apache.myfaces.trinidad.outputMode";
   static final private String _IASW_DEVICE_HINT_PARAM = "X-Oracle-Device.Class";
   static final private TrinidadLogger _LOG = TrinidadLogger.createTrinidadLogger(AgentFactoryImpl.class);
   

-- 
To stop receiving notification emails like this one, please contact
"commits@myfaces.apache.org" <co...@myfaces.apache.org>.

[myfaces-trinidad] 07/07: TRINIDAD-2140

Posted by de...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

deki pushed a commit to branch jwaldman-offline-mode-branch
in repository https://gitbox.apache.org/repos/asf/myfaces-trinidad.git

commit eea09ecd5e545be84cbcb90ce9d956ea5c4c4df6
Author: Matthew Cooper <mc...@apache.org>
AuthorDate: Fri Oct 28 20:18:06 2011 +0000

    TRINIDAD-2140
    
    Thanks to Pavitra for the patch.
---
 .../java/org/apache/myfaces/trinidad/context/RequestContext.java | 2 +-
 .../myfaces/trinidadinternal/renderkit/core/CoreRenderKit.java   | 9 +++++----
 .../trinidadinternal/renderkit/core/CoreRenderingContext.java    | 8 ++++----
 3 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/RequestContext.java b/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/RequestContext.java
index f538c42..a510420 100644
--- a/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/RequestContext.java
+++ b/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/RequestContext.java
@@ -333,7 +333,7 @@ abstract public class RequestContext
   public enum OutputMode
   {
     DEFAULT("default"), PORTLET("portlet"), PRINTABLE("printable"), EMAIL("email"),
-    OFFLINE("offline"), WEB_CRAWLER("webcrawler");
+    ATTACHMENT("attachment"), WEB_CRAWLER("webcrawler");
     
     private OutputMode(String id)
     {
diff --git a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/CoreRenderKit.java b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/CoreRenderKit.java
index 0b756cd..2ade6b5 100644
--- a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/CoreRenderKit.java
+++ b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/CoreRenderKit.java
@@ -112,10 +112,11 @@ public class CoreRenderKit extends RenderKitDecorator
   static public final String OUTPUT_MODE_EMAIL = "email";
 
   /**
-   * An offline browser output mode.  Render the content such that the output can be taken
-   * offline.  Interactions requiring server communication should be avoided.
+   * An attachment browser output mode. Render the content such that the output can be sent as an 
+   * email attachment that can be viewed offline. Interactions requiring server communication 
+   * should be completely avoided.
    */
-  static public final String OUTPUT_MODE_OFFLINE = "offline";
+  static public final String OUTPUT_MODE_ATTACHMENT = "attachment";
 
   /**
    * Web Creawler output mode.  Render the content for consumption by a web crawler
@@ -123,7 +124,7 @@ public class CoreRenderKit extends RenderKitDecorator
   static public final String OUTPUT_MODE_WEB_CRAWLER = "webcrawler";
 
 
-  public enum OutputMode {normal, portlet, printable, email, offline}
+  public enum OutputMode {normal, portlet, printable, email, attachment}
 
   static public final String RETURN_PARAM = "rtrn";
 
diff --git a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/CoreRenderingContext.java b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/CoreRenderingContext.java
index ae08920..c83e3c0 100644
--- a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/CoreRenderingContext.java
+++ b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/CoreRenderingContext.java
@@ -671,9 +671,9 @@ public class CoreRenderingContext extends RenderingContext
         return AgentUtil.mergeCapabilities(agent, _PORTLET_CAPABILITIES);
       }
     }
-    else if (CoreRenderKit.OUTPUT_MODE_OFFLINE.equals(outputMode))
+    else if (CoreRenderKit.OUTPUT_MODE_ATTACHMENT.equals(outputMode))
     {
-      return AgentUtil.mergeCapabilities(agent, _OFFLINE_CAPABILITIES);
+      return AgentUtil.mergeCapabilities(agent, _ATTACHMENT_CAPABILITIES);
     }
     else if (CoreRenderKit.OUTPUT_MODE_WEB_CRAWLER.equals(outputMode))
     {
@@ -827,7 +827,7 @@ public class CoreRenderingContext extends RenderingContext
   static private final Map<Object, Object> _ENHANCED_PORTLET_CAPABILITIES =
     new HashMap<Object, Object>();
 
-  static private final Map<Object, Object> _OFFLINE_CAPABILITIES =
+  static private final Map<Object, Object> _ATTACHMENT_CAPABILITIES =
     new HashMap<Object, Object>();
 
   static private final Map<Object, Object> _WEB_CRAWLER_CAPABILITIES =
@@ -885,7 +885,7 @@ public class CoreRenderingContext extends RenderingContext
                               Boolean.FALSE);
 
     // turn off PPR
-    _OFFLINE_CAPABILITIES.put(TrinidadAgent.CAP_PARTIAL_RENDERING, Boolean.FALSE);
+    _ATTACHMENT_CAPABILITIES.put(TrinidadAgent.CAP_PARTIAL_RENDERING, Boolean.FALSE);
   }
 
   static private final TrinidadLogger _LOG =

-- 
To stop receiving notification emails like this one, please contact
"commits@myfaces.apache.org" <co...@myfaces.apache.org>.

[myfaces-trinidad] 03/07: update the pom files to use a new version

Posted by de...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

deki pushed a commit to branch jwaldman-offline-mode-branch
in repository https://gitbox.apache.org/repos/asf/myfaces-trinidad.git

commit 9fa47a8085953bd4ce15107cea82d0711add3705
Author: Jeanne Waldman <jw...@apache.org>
AuthorDate: Wed Sep 21 15:39:52 2011 +0000

    update the pom files to use a new version
---
 pom.xml                                             | 2 +-
 trinidad-api/pom.xml                                | 2 +-
 trinidad-assembly/pom.xml                           | 2 +-
 trinidad-build/pom.xml                              | 2 +-
 trinidad-examples/pom.xml                           | 2 +-
 trinidad-examples/trinidad-blank/pom.xml            | 2 +-
 trinidad-examples/trinidad-demo/pom.xml             | 2 +-
 trinidad-examples/trinidad-example-assembly/pom.xml | 2 +-
 trinidad-impl/pom.xml                               | 2 +-
 trinidad-partial-lifecycle/pom.xml                  | 2 +-
 trinidad-sandbox/pom.xml                            | 2 +-
 trinidad-sandbox/sandbox-api/pom.xml                | 2 +-
 trinidad-sandbox/sandbox-build/pom.xml              | 2 +-
 trinidad-sandbox/sandbox-demo/pom.xml               | 2 +-
 trinidad-sandbox/sandbox-impl/pom.xml               | 2 +-
 15 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/pom.xml b/pom.xml
index d1c4135..e68d732 100644
--- a/pom.xml
+++ b/pom.xml
@@ -33,7 +33,7 @@
 
   <groupId>org.apache.myfaces.trinidad</groupId>
   <artifactId>trinidad</artifactId>
-  <version>1.2.12.6.0-SNAPSHOT</version>
+  <version>1.2.12.6.0-OFFLINE-SNAPSHOT</version>
   <packaging>pom</packaging>
 
   <properties>
diff --git a/trinidad-api/pom.xml b/trinidad-api/pom.xml
index b720c6e..aef718f 100644
--- a/trinidad-api/pom.xml
+++ b/trinidad-api/pom.xml
@@ -27,7 +27,7 @@
   <parent>
     <groupId>org.apache.myfaces.trinidad</groupId>
     <artifactId>trinidad</artifactId>
-    <version>1.2.12.6.0-SNAPSHOT</version>
+    <version>1.2.12.6.0-OFFLINE-SNAPSHOT</version>
   </parent>
 
   <artifactId>trinidad-api</artifactId>
diff --git a/trinidad-assembly/pom.xml b/trinidad-assembly/pom.xml
index bc21761..e341c33 100644
--- a/trinidad-assembly/pom.xml
+++ b/trinidad-assembly/pom.xml
@@ -26,7 +26,7 @@
   <parent>
     <groupId>org.apache.myfaces.trinidad</groupId>
     <artifactId>trinidad</artifactId>
-    <version>1.2.12.6.0-SNAPSHOT</version>
+    <version>1.2.12.6.0-OFFLINE-SNAPSHOT</version>
   </parent>
 
   <artifactId>trinidad-assembly</artifactId>
diff --git a/trinidad-build/pom.xml b/trinidad-build/pom.xml
index f5dcc43..8eb2fed 100644
--- a/trinidad-build/pom.xml
+++ b/trinidad-build/pom.xml
@@ -27,7 +27,7 @@
   <parent>
     <groupId>org.apache.myfaces.trinidad</groupId>
     <artifactId>trinidad</artifactId>
-    <version>1.2.12.6.0-SNAPSHOT</version>
+    <version>1.2.12.6.0-OFFLINE-SNAPSHOT</version>
   </parent>
 
   <artifactId>trinidad-build</artifactId>
diff --git a/trinidad-examples/pom.xml b/trinidad-examples/pom.xml
index b433d7f..307d1b5 100644
--- a/trinidad-examples/pom.xml
+++ b/trinidad-examples/pom.xml
@@ -27,7 +27,7 @@
   <parent>
     <groupId>org.apache.myfaces.trinidad</groupId>
     <artifactId>trinidad</artifactId>
-    <version>1.2.12.6.0-SNAPSHOT</version>
+    <version>1.2.12.6.0-OFFLINE-SNAPSHOT</version>
   </parent>
 
   <artifactId>trinidad-example</artifactId>
diff --git a/trinidad-examples/trinidad-blank/pom.xml b/trinidad-examples/trinidad-blank/pom.xml
index 49e9856..059db40 100644
--- a/trinidad-examples/trinidad-blank/pom.xml
+++ b/trinidad-examples/trinidad-blank/pom.xml
@@ -26,7 +26,7 @@
   <parent>
     <groupId>org.apache.myfaces.trinidad</groupId>
     <artifactId>trinidad-example</artifactId>
-    <version>1.2.12.6.0-SNAPSHOT</version>
+    <version>1.2.12.6.0-OFFLINE-SNAPSHOT</version>
   </parent>
 
   <artifactId>trinidad-blank</artifactId>
diff --git a/trinidad-examples/trinidad-demo/pom.xml b/trinidad-examples/trinidad-demo/pom.xml
index a68a5c2..2a273cf 100644
--- a/trinidad-examples/trinidad-demo/pom.xml
+++ b/trinidad-examples/trinidad-demo/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.apache.myfaces.trinidad</groupId>
     <artifactId>trinidad-example</artifactId>
-    <version>1.2.12.6.0-SNAPSHOT</version>
+    <version>1.2.12.6.0-OFFLINE-SNAPSHOT</version>
   </parent>
 
   <artifactId>trinidad-demo</artifactId>
diff --git a/trinidad-examples/trinidad-example-assembly/pom.xml b/trinidad-examples/trinidad-example-assembly/pom.xml
index 26f9e77..02035e0 100644
--- a/trinidad-examples/trinidad-example-assembly/pom.xml
+++ b/trinidad-examples/trinidad-example-assembly/pom.xml
@@ -27,7 +27,7 @@
   <parent>
     <groupId>org.apache.myfaces.trinidad</groupId>
     <artifactId>trinidad</artifactId>
-    <version>1.2.12.6.0-SNAPSHOT</version>
+    <version>1.2.12.6.0-OFFLINE-SNAPSHOT</version>
   </parent>
 
   <artifactId>trinidad-example-assembly</artifactId>
diff --git a/trinidad-impl/pom.xml b/trinidad-impl/pom.xml
index dc63adc..fa6800f 100644
--- a/trinidad-impl/pom.xml
+++ b/trinidad-impl/pom.xml
@@ -27,7 +27,7 @@
   <parent>
     <groupId>org.apache.myfaces.trinidad</groupId>
     <artifactId>trinidad</artifactId>
-    <version>1.2.12.6.0-SNAPSHOT</version>
+    <version>1.2.12.6.0-OFFLINE-SNAPSHOT</version>
   </parent>
 
   <artifactId>trinidad-impl</artifactId>
diff --git a/trinidad-partial-lifecycle/pom.xml b/trinidad-partial-lifecycle/pom.xml
index 295bacd..d4df196 100644
--- a/trinidad-partial-lifecycle/pom.xml
+++ b/trinidad-partial-lifecycle/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <groupId>org.apache.myfaces.trinidad</groupId>
     <artifactId>trinidad</artifactId>
-    <version>1.2.12.6.0-SNAPSHOT</version>
+    <version>1.2.12.6.0-OFFLINE-SNAPSHOT</version>
   </parent>
   <artifactId>trinidad-partial-lifecycle</artifactId>
   <name>Apache MyFaces Trinidad Partial Lifecycle</name>
diff --git a/trinidad-sandbox/pom.xml b/trinidad-sandbox/pom.xml
index 5dc3c61..3d2be6e 100644
--- a/trinidad-sandbox/pom.xml
+++ b/trinidad-sandbox/pom.xml
@@ -27,7 +27,7 @@
   <parent>
     <groupId>org.apache.myfaces.trinidad</groupId>
     <artifactId>trinidad</artifactId>
-    <version>1.2.12.6.0-SNAPSHOT</version>
+    <version>1.2.12.6.0-OFFLINE-SNAPSHOT</version>
   </parent>
 
   <artifactId>trinidad-sandbox</artifactId>
diff --git a/trinidad-sandbox/sandbox-api/pom.xml b/trinidad-sandbox/sandbox-api/pom.xml
index 38018a4..237d356 100644
--- a/trinidad-sandbox/sandbox-api/pom.xml
+++ b/trinidad-sandbox/sandbox-api/pom.xml
@@ -27,7 +27,7 @@
   <parent>
     <groupId>org.apache.myfaces.trinidad</groupId>
     <artifactId>trinidad-sandbox</artifactId>
-    <version>1.2.12.6.0-SNAPSHOT</version>
+    <version>1.2.12.6.0-OFFLINE-SNAPSHOT</version>
   </parent>
 
   <artifactId>trinidad-sandbox-api</artifactId>
diff --git a/trinidad-sandbox/sandbox-build/pom.xml b/trinidad-sandbox/sandbox-build/pom.xml
index 7e0faab..323ddb3 100644
--- a/trinidad-sandbox/sandbox-build/pom.xml
+++ b/trinidad-sandbox/sandbox-build/pom.xml
@@ -27,7 +27,7 @@
   <parent>
     <groupId>org.apache.myfaces.trinidad</groupId>
     <artifactId>trinidad-sandbox</artifactId>
-    <version>1.2.12.6.0-SNAPSHOT</version>
+    <version>1.2.12.6.0-OFFLINE-SNAPSHOT</version>
   </parent>
 
   <artifactId>trinidad-sandbox-build</artifactId>
diff --git a/trinidad-sandbox/sandbox-demo/pom.xml b/trinidad-sandbox/sandbox-demo/pom.xml
index 1a359c9..4056b3e 100644
--- a/trinidad-sandbox/sandbox-demo/pom.xml
+++ b/trinidad-sandbox/sandbox-demo/pom.xml
@@ -27,7 +27,7 @@
   <parent>
     <groupId>org.apache.myfaces.trinidad</groupId>
     <artifactId>trinidad-sandbox</artifactId>
-    <version>1.2.12.6.0-SNAPSHOT</version>
+    <version>1.2.12.6.0-OFFLINE-SNAPSHOT</version>
   </parent>
 
   <artifactId>trinidad-sandbox-demo</artifactId>
diff --git a/trinidad-sandbox/sandbox-impl/pom.xml b/trinidad-sandbox/sandbox-impl/pom.xml
index 841b61d..3b56827 100644
--- a/trinidad-sandbox/sandbox-impl/pom.xml
+++ b/trinidad-sandbox/sandbox-impl/pom.xml
@@ -27,7 +27,7 @@
   <parent>
     <groupId>org.apache.myfaces.trinidad</groupId>
     <artifactId>trinidad-sandbox</artifactId>
-    <version>1.2.12.6.0-SNAPSHOT</version>
+    <version>1.2.12.6.0-OFFLINE-SNAPSHOT</version>
   </parent>
 
   <artifactId>trinidad-sandbox-impl</artifactId>

-- 
To stop receiving notification emails like this one, please contact
"commits@myfaces.apache.org" <co...@myfaces.apache.org>.

[myfaces-trinidad] 04/07: TRINIDAD-2141 add a new 'browser-generic' agent The agent's name is genericDesktop. It represents the lowest common denominator agent for all browsers thanks to Pavitra Subramaniam for the patch

Posted by de...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

deki pushed a commit to branch jwaldman-offline-mode-branch
in repository https://gitbox.apache.org/repos/asf/myfaces-trinidad.git

commit 5a64a0308a3f17089996ea9abd27de7b82e0a734
Author: Jeanne Waldman <jw...@apache.org>
AuthorDate: Wed Sep 28 18:37:44 2011 +0000

    TRINIDAD-2141 add a new 'browser-generic' agent
    The agent's name is genericDesktop. It represents the lowest common denominator agent for all browsers
    thanks to Pavitra Subramaniam for the patch
---
 .../org/apache/myfaces/trinidad/context/Agent.java |  5 ++
 .../myfaces/trinidad/context/RequestContext.java   | 73 ++++++++++++++++++++++
 .../trinidadinternal/agent/AgentFactoryImpl.java   | 37 ++++++++++-
 .../trinidadinternal/agent/AgentNameUtil.java      |  7 +++
 .../trinidadinternal/agent/TrinidadAgent.java      |  7 ++-
 .../trinidadinternal/style/util/NameUtils.java     |  9 ++-
 .../main/resources/META-INF/agent/capabilities.xml |  5 ++
 .../resources/META-INF/agent/genericDesktop.xml    | 29 +++++++++
 8 files changed, 167 insertions(+), 5 deletions(-)

diff --git a/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/Agent.java b/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/Agent.java
index 014b842..ec38bb6 100644
--- a/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/Agent.java
+++ b/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/Agent.java
@@ -160,6 +160,11 @@ public interface Agent
   public static final String AGENT_UNKNOWN = "unknown";
 
   /**
+   * Constant for a generic desktop agent that is unknown but relatively powerful
+   */
+  public static final String AGENT_GENERIC_DESKTOP = "genericDesktop";
+
+  /**
    * Constant for Konqueror agent
    */
   public static final String AGENT_KONQUEROR = "konqueror";
diff --git a/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/RequestContext.java b/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/RequestContext.java
index 6d42cd0..f538c42 100644
--- a/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/RequestContext.java
+++ b/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/RequestContext.java
@@ -24,6 +24,7 @@ import java.io.IOException;
 
 import java.util.Collection;
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
@@ -244,6 +245,14 @@ abstract public class RequestContext
    */
   public abstract String getOutputMode();
 
+  /**
+   * Returns the OutputMode enumeration
+   * @return OutputMode
+   */
+  public OutputMode getOutputModeEnum()
+  {
+    return OutputMode.fromId(getOutputMode());
+  }
 
   /**
    * Returns the name of the preferred skin family.
@@ -319,6 +328,70 @@ abstract public class RequestContext
   };
 
   /**
+   * Enumeration representing OutputModes
+   */
+  public enum OutputMode
+  {
+    DEFAULT("default"), PORTLET("portlet"), PRINTABLE("printable"), EMAIL("email"),
+    OFFLINE("offline"), WEB_CRAWLER("webcrawler");
+    
+    private OutputMode(String id)
+    {
+      if (id == null) throw new NullPointerException();
+      
+      _id = id;
+    }
+
+    /**
+     * @return the id of this OutputMode.
+     */
+    public String id()
+    {
+      return _id;
+    }
+    
+    @Override
+    public String toString()
+    {
+      return _id;
+    }
+    
+    /**
+     * Returns the OutputMode isntance of <code>null</code> if no id matches.
+     * @param id of OutputMode to return
+     * @return The OutputMode with the specified id
+     * @throws NullPointerException if <code>id</code> is null.
+     * @throws IllegalArgumentException if there is no enum with the specified name.
+     */
+    public static OutputMode fromId(String id)
+    {
+      if (id == null)
+        throw new NullPointerException();
+      
+      OutputMode outputMode = ID_TO_OUTPUT_MODE.get(id);
+      
+      if (outputMode == null)
+        throw new IllegalArgumentException();
+      
+      return outputMode;
+    }
+
+    private static final Map<String, OutputMode> ID_TO_OUTPUT_MODE = new HashMap<String, OutputMode>();
+    
+    static
+    {
+      OutputMode[] instances = OutputMode.class.getEnumConstants();
+      
+      for (int i = 0; i < instances.length; i++)
+      {
+        ID_TO_OUTPUT_MODE.put(instances[i].toString(), instances[i]);
+      }
+    }
+    
+    private final String _id;
+  }
+
+  /**
    * Returns the name of the current accessibility mode.
    */
   public abstract Accessibility getAccessibilityMode();
diff --git a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/AgentFactoryImpl.java b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/AgentFactoryImpl.java
index 8a93e0e..6295abb 100644
--- a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/AgentFactoryImpl.java
+++ b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/AgentFactoryImpl.java
@@ -24,6 +24,7 @@ import java.util.Map;
 import javax.faces.context.FacesContext;
 
 import org.apache.myfaces.trinidad.context.Agent;
+import org.apache.myfaces.trinidad.context.RequestContext;
 import org.apache.myfaces.trinidad.logging.TrinidadLogger;
 
 import org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.XhtmlConstants;
@@ -77,9 +78,14 @@ public class AgentFactoryImpl implements AgentFactory
 
     String userAgent = headerMap.get("User-Agent");
     String isEmail = null;
+    String outputMode = null;
+    
     if (facesContext != null)
-      isEmail = facesContext.getExternalContext().getRequestParameterMap().
-                        get(_EMAIL_PARAM);
+    {
+      Map<String, String> requestParamMap = facesContext.getExternalContext().getRequestParameterMap();
+      isEmail = requestParamMap.get(_EMAIL_PARAM);
+      outputMode = requestParamMap.get(_OUTPUTMODE_PARAM);
+    }
 
     if ("true".equals(isEmail))
     {
@@ -87,6 +93,15 @@ public class AgentFactoryImpl implements AgentFactory
       return;
     }
 
+    RequestContext reqContext = RequestContext.getCurrentInstance();
+    if ((reqContext != null && 
+        RequestContext.OutputMode.OFFLINE.id().equals(reqContext.getOutputMode())) || 
+        RequestContext.OutputMode.OFFLINE.id().equals(outputMode))
+    {
+      _populateGenericDesktopAgentImpl(agent);
+      return;
+    }
+
     if ((userAgent != null) && userAgent.startsWith("PTG"))
     {
       _populateIaswAgentImpl(userAgent,
@@ -664,6 +679,22 @@ public class AgentFactoryImpl implements AgentFactory
     agentObj.setType(Agent.TYPE_PHONE);
   }
 
+  /** 
+   * Returns an AgentEntry for a generic desktop agent
+   */
+  private void _populateGenericDesktopAgentImpl(AgentImpl agent)
+  {
+    // Generic Desktop agent
+    agent.setType(Agent.TYPE_DESKTOP);
+   
+    agent.setAgent(Agent.AGENT_GENERIC_DESKTOP);
+    agent.setAgentVersion("0.0"); // we don't know the version
+    agent.setPlatform(Agent.PLATFORM_UNKNOWN);
+    agent.setPlatformVersion(Agent.PLATFORM_VERSION_UNKNOWN);
+    agent.setMakeModel(Agent.MAKE_MODEL_UNKNOWN);
+  }
+
+
   /**
    * Returns an AgentEntry for the browsers that use the Gecko Layout Engine.
    */
@@ -1078,6 +1109,8 @@ public class AgentFactoryImpl implements AgentFactory
   }
   static private final String _EMAIL_PARAM =
     "org.apache.myfaces.trinidad.agent.email";
+    static private final String _OUTPUTMODE_PARAM =
+      "org.apache.myfaces.trinidad.outputMode";
   static final private String _IASW_DEVICE_HINT_PARAM = "X-Oracle-Device.Class";
   static final private TrinidadLogger _LOG = TrinidadLogger.createTrinidadLogger(AgentFactoryImpl.class);
   
diff --git a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/AgentNameUtil.java b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/AgentNameUtil.java
index a87ece3..1bf80c7 100644
--- a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/AgentNameUtil.java
+++ b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/AgentNameUtil.java
@@ -51,6 +51,11 @@ public class AgentNameUtil
       return TrinidadAgent.APPLICATION_GECKO;
     }
 
+    if (TrinidadAgent.AGENT_GENERIC_DESKTOP.equals(agentName))
+    {
+      return TrinidadAgent.APPLICATION_GENERIC_DESKTOP;
+    }
+
     if (TrinidadAgent.AGENT_EMAIL.equals(agentName))
     {
       return TrinidadAgent.APPLICATION_EMAIL;
@@ -228,6 +233,8 @@ public class AgentNameUtil
         return TrinidadAgent.AGENT_IE;
       case TrinidadAgent.APPLICATION_GECKO:
         return TrinidadAgent.AGENT_GECKO;
+      case TrinidadAgent.APPLICATION_GENERIC_DESKTOP:
+        return TrinidadAgent.AGENT_GENERIC_DESKTOP;
       case TrinidadAgent.APPLICATION_WEB_CLIPPING:
         return TrinidadAgent.AGENT_ELAINE;
       case TrinidadAgent.APPLICATION_ICE:
diff --git a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/TrinidadAgent.java b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/TrinidadAgent.java
index d0a144a..0615f94 100644
--- a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/TrinidadAgent.java
+++ b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/TrinidadAgent.java
@@ -285,8 +285,6 @@ public interface TrinidadAgent extends Agent
    */
   static public final int TYPE_WEBCRAWLER = 4;
 
-
-
   /**
    * Application constant for an entirely unknown application.
    */
@@ -400,6 +398,11 @@ public interface TrinidadAgent extends Agent
   static public final int APPLICATION_ORACLE_SES = 19;
   
   /**
+   * Application constant for a generic desktop application.
+   */
+  static public final int APPLICATION_GENERIC_DESKTOP   = 20;
+  
+  /**
    * OS constant for an unknown operating system.
    */
   static public final int OS_UNKNOWN = 0;
diff --git a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/style/util/NameUtils.java b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/style/util/NameUtils.java
index 25ecbbf..53227c1 100644
--- a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/style/util/NameUtils.java
+++ b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/style/util/NameUtils.java
@@ -59,7 +59,9 @@ public class NameUtils
 
     int browser = TrinidadAgent.APPLICATION_UNKNOWN;
 
-    if (_BROWSER_NETSCAPE.equals(browserName))
+    if (_BROWSER_GENERIC_DESKTOP.equals(browserName))
+      browser = TrinidadAgent.APPLICATION_GENERIC_DESKTOP;
+    else if (_BROWSER_NETSCAPE.equals(browserName))
       browser = TrinidadAgent.APPLICATION_NETSCAPE;
     else if (_BROWSER_IE.equals(browserName))
       browser = TrinidadAgent.APPLICATION_IEXPLORER;
@@ -123,6 +125,9 @@ public class NameUtils
     case TrinidadAgent.APPLICATION_EMAIL:
       name = _BROWSER_EMAIL;
       break;
+    case TrinidadAgent.APPLICATION_GENERIC_DESKTOP:
+        name = _BROWSER_GENERIC_DESKTOP;
+        break;
     case TrinidadAgent.APPLICATION_UNKNOWN:
       // This case is only here to avoid the default assertion
       break;
@@ -761,6 +766,8 @@ public class NameUtils
   private static final String _DIRECTION_LTR = "ltr";
 
   // Browser constants
+  private static final String _BROWSER_GENERIC_DESKTOP = "genericDesktop";
+
   private static final String _BROWSER_NETSCAPE = "netscape";
 
   private static final String _BROWSER_IE = "ie";
diff --git a/trinidad-impl/src/main/resources/META-INF/agent/capabilities.xml b/trinidad-impl/src/main/resources/META-INF/agent/capabilities.xml
index 1a06efc..a36b1ae 100644
--- a/trinidad-impl/src/main/resources/META-INF/agent/capabilities.xml
+++ b/trinidad-impl/src/main/resources/META-INF/agent/capabilities.xml
@@ -30,6 +30,11 @@
       <include src="html.xml"/>
     </capabilities>
 
+    <capabilities id="genericDesktop" default="true" >
+      <include refid="html"/>
+      <include src="genericDesktop.xml"/>
+    </capabilities>
+
     <capabilities id="pda" platforms="palm">
       <include refid="htmlBasic"/>
       <include src ="pdaHtml.xml"/>
diff --git a/trinidad-impl/src/main/resources/META-INF/agent/genericDesktop.xml b/trinidad-impl/src/main/resources/META-INF/agent/genericDesktop.xml
new file mode 100644
index 0000000..7fbdb03
--- /dev/null
+++ b/trinidad-impl/src/main/resources/META-INF/agent/genericDesktop.xml
@@ -0,0 +1,29 @@
+<?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.
+	   
+-->
+<capabilityData xmlns="http://myfaces.apache.org/trinidad/agent/capabilities">
+  <capability name="accessKeys" value="false"/>
+  <capability name="-adfinternal-altRendersTooltipOnImage" value="true"/>    
+  <capability name="-adfinternal-cssSelectors" value="multiple"/>
+  <capability name="-adfinternal-imageStretch" value="true"/>
+  <capability name="-adfinternal-pngImage" value="true"/>  
+  <capability name="-adfinternal-transparentPngImage" value="true"/>   
+  <capability name="partialRendering" value="false"/>  
+</capabilityData>

-- 
To stop receiving notification emails like this one, please contact
"commits@myfaces.apache.org" <co...@myfaces.apache.org>.

[myfaces-trinidad] 02/07: Add new offline and web crawler OutputModes with the appropriate capability merging. The offline mode represents a page that can not POST or GET additional content.

Posted by de...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

deki pushed a commit to branch jwaldman-offline-mode-branch
in repository https://gitbox.apache.org/repos/asf/myfaces-trinidad.git

commit 66009c3a6ec8ed0f190f7865e098dd9354a7793e
Author: Blake Sullivan <bs...@apache.org>
AuthorDate: Tue Sep 20 07:09:22 2011 +0000

    Add new offline and web crawler OutputModes with the appropriate capability merging.  The offline mode represents a page that can not POST or GET additional content.
---
 .../renderkit/core/CoreRenderKit.java              | 14 ++++++++++
 .../renderkit/core/CoreRenderingContext.java       | 32 ++++++++++++++++++++++
 2 files changed, 46 insertions(+)

diff --git a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/CoreRenderKit.java b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/CoreRenderKit.java
index 5e1283a..0b756cd 100644
--- a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/CoreRenderKit.java
+++ b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/CoreRenderKit.java
@@ -111,6 +111,20 @@ public class CoreRenderKit extends RenderKitDecorator
    */
   static public final String OUTPUT_MODE_EMAIL = "email";
 
+  /**
+   * An offline browser output mode.  Render the content such that the output can be taken
+   * offline.  Interactions requiring server communication should be avoided.
+   */
+  static public final String OUTPUT_MODE_OFFLINE = "offline";
+
+  /**
+   * Web Creawler output mode.  Render the content for consumption by a web crawler
+   */
+  static public final String OUTPUT_MODE_WEB_CRAWLER = "webcrawler";
+
+
+  public enum OutputMode {normal, portlet, printable, email, offline}
+
   static public final String RETURN_PARAM = "rtrn";
 
   /**
diff --git a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/CoreRenderingContext.java b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/CoreRenderingContext.java
index e1374d2..ae08920 100644
--- a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/CoreRenderingContext.java
+++ b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/CoreRenderingContext.java
@@ -671,6 +671,14 @@ public class CoreRenderingContext extends RenderingContext
         return AgentUtil.mergeCapabilities(agent, _PORTLET_CAPABILITIES);
       }
     }
+    else if (CoreRenderKit.OUTPUT_MODE_OFFLINE.equals(outputMode))
+    {
+      return AgentUtil.mergeCapabilities(agent, _OFFLINE_CAPABILITIES);
+    }
+    else if (CoreRenderKit.OUTPUT_MODE_WEB_CRAWLER.equals(outputMode))
+    {
+      return AgentUtil.mergeCapabilities(agent, _WEB_CRAWLER_CAPABILITIES);
+    }
     else
     {
       return agent;
@@ -819,6 +827,13 @@ public class CoreRenderingContext extends RenderingContext
   static private final Map<Object, Object> _ENHANCED_PORTLET_CAPABILITIES =
     new HashMap<Object, Object>();
 
+  static private final Map<Object, Object> _OFFLINE_CAPABILITIES =
+    new HashMap<Object, Object>();
+
+  static private final Map<Object, Object> _WEB_CRAWLER_CAPABILITIES =
+    new HashMap<Object, Object>();
+
+
   static
   {
     _PRINTABLE_CAPABILITIES.put(TrinidadAgent.CAP_INTRINSIC_EVENTS,
@@ -846,6 +861,20 @@ public class CoreRenderingContext extends RenderingContext
                             TrinidadAgent.STYLES_INTERNAL);
     _EMAIL_CAPABILITIES.put(TrinidadAgent.CAP_PARTIAL_RENDERING,
                             Boolean.FALSE);
+    
+    // for now, the Web Crawler capabilities are the same as the EMail capabilities
+    _WEB_CRAWLER_CAPABILITIES.put(TrinidadAgent.CAP_INTRINSIC_EVENTS,
+                            Boolean.FALSE);
+    _WEB_CRAWLER_CAPABILITIES.put(TrinidadAgent.CAP_SCRIPTING_SPEED,
+                            TrinidadAgent.SCRIPTING_SPEED_CAP_NONE);
+    _WEB_CRAWLER_CAPABILITIES.put(TrinidadAgent.CAP_EDITING,
+                            Boolean.FALSE);
+    // =-= bts I wouldn't think that we would output any style sheets for a web crawler
+    _WEB_CRAWLER_CAPABILITIES.put(TrinidadAgent.CAP_STYLE_ATTRIBUTES,
+                                  TrinidadAgent.STYLES_INTERNAL);
+    _WEB_CRAWLER_CAPABILITIES.put(TrinidadAgent.CAP_PARTIAL_RENDERING,
+                                  Boolean.FALSE);
+
 
     _PORTLET_CAPABILITIES.put(TrinidadAgent.CAP_PARTIAL_RENDERING,
                             Boolean.FALSE);
@@ -854,6 +883,9 @@ public class CoreRenderingContext extends RenderingContext
     
     _ENHANCED_PORTLET_CAPABILITIES.put(TrinidadAgent.CAP_MULTIPLE_WINDOWS,
                               Boolean.FALSE);
+
+    // turn off PPR
+    _OFFLINE_CAPABILITIES.put(TrinidadAgent.CAP_PARTIAL_RENDERING, Boolean.FALSE);
   }
 
   static private final TrinidadLogger _LOG =

-- 
To stop receiving notification emails like this one, please contact
"commits@myfaces.apache.org" <co...@myfaces.apache.org>.

[myfaces-trinidad] 06/07: Support two-phase construction of Renderers to avoid problems calling virtual functions from constructors

Posted by de...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

deki pushed a commit to branch jwaldman-offline-mode-branch
in repository https://gitbox.apache.org/repos/asf/myfaces-trinidad.git

commit 142170cbd739e90af31bec435ee390107c242085
Author: Blake Sullivan <bs...@apache.org>
AuthorDate: Tue Oct 25 18:23:01 2011 +0000

    Support two-phase construction of Renderers to avoid problems calling virtual functions from constructors
---
 .../renderkit/ClassRendererInstantiator.java       | 10 +++++++-
 .../NeedsPostConstructionInitialization.java       | 30 ++++++++++++++++++++++
 2 files changed, 39 insertions(+), 1 deletion(-)

diff --git a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/ClassRendererInstantiator.java b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/ClassRendererInstantiator.java
index 92f6057..0df9678 100644
--- a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/ClassRendererInstantiator.java
+++ b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/ClassRendererInstantiator.java
@@ -46,7 +46,15 @@ class ClassRendererInstantiator implements RendererInstantiator
     try
     {
       Class<?> classInstance = ClassLoaderUtils.loadClass(_className);
-      return (Renderer) classInstance.newInstance();
+      Renderer renderer = (Renderer) classInstance.newInstance();
+      
+      // if the Renderer needs two-phase construction, call it
+      if (renderer instanceof NeedsPostConstructionInitialization)
+      {
+        renderer = ((NeedsPostConstructionInitialization<Renderer>)renderer).initialize();
+      }
+      
+      return renderer;
     }
     catch (ClassNotFoundException cnfe)
     {
diff --git a/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/NeedsPostConstructionInitialization.java b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/NeedsPostConstructionInitialization.java
new file mode 100644
index 0000000..6cabe8f
--- /dev/null
+++ b/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/NeedsPostConstructionInitialization.java
@@ -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.myfaces.trinidadinternal.renderkit;
+
+/**
+ * Interface implemented by Renderers that need an extra
+ * Instantiation step after the Renderer class is created.
+ * Use of this interface avoids problems with calling
+ * virtual methods from constructors.
+ */
+public interface NeedsPostConstructionInitialization<T>
+{
+  public T initialize();
+}

-- 
To stop receiving notification emails like this one, please contact
"commits@myfaces.apache.org" <co...@myfaces.apache.org>.