Seam SVN: r9336 - in trunk/seam-gen: icefaces/build-scripts and 1 other directory.
by seam-commits@lists.jboss.org
Author: dan.j.allen
Date: 2008-10-15 04:59:59 -0400 (Wed, 15 Oct 2008)
New Revision: 9336
Modified:
trunk/seam-gen/build-scripts/build-war.xml
trunk/seam-gen/build-scripts/build.xml
trunk/seam-gen/icefaces/build-scripts/build-war.xml
trunk/seam-gen/icefaces/build-scripts/build.xml
Log:
remove exploded-archives directory on clean
sync rather than copy during explode (cleans up dangling files)
Modified: trunk/seam-gen/build-scripts/build-war.xml
===================================================================
--- trunk/seam-gen/build-scripts/build-war.xml 2008-10-15 08:54:22 UTC (rev 9335)
+++ trunk/seam-gen/build-scripts/build-war.xml 2008-10-15 08:59:59 UTC (rev 9336)
@@ -248,9 +248,9 @@
<fail unless="jboss.home">jboss.home not set</fail>
<mkdir dir="${war.deploy.dir}"/>
- <copy todir="${war.deploy.dir}">
+ <sync todir="${war.deploy.dir}">
<fileset dir="${war.dir}"/>
- </copy>
+ </sync>
</target>
<target name="unexplode" description="Undeploy the exploded archive">
@@ -300,7 +300,7 @@
<target name="clean" description="Clean out the staging directory">
<delete dir="${dist.dir}"/>
- <delete dir="${war.dir}"/>
+ <delete dir="${basedir}/exploded-archives"/>
<delete dir="${basedir}/test-report"/>
<delete dir="${basedir}/test-output"/>
<delete failonerror="no" includeemptydirs="true">
Modified: trunk/seam-gen/build-scripts/build.xml
===================================================================
--- trunk/seam-gen/build-scripts/build.xml 2008-10-15 08:54:22 UTC (rev 9335)
+++ trunk/seam-gen/build-scripts/build.xml 2008-10-15 08:59:59 UTC (rev 9336)
@@ -254,15 +254,15 @@
<mkdir dir="${jar.deploy.dir}"/>
<mkdir dir="${war.deploy.dir}"/>
- <copy todir="${jar.deploy.dir}">
+ <sync todir="${jar.deploy.dir}">
<fileset dir="${jar.dir}"/>
- </copy>
- <copy todir="${war.deploy.dir}">
+ </sync>
+ <sync todir="${war.deploy.dir}">
<fileset dir="${war.dir}"/>
- </copy>
- <copy todir="${ear.deploy.dir}">
+ </sync>
+ <sync todir="${ear.deploy.dir}">
<fileset dir="${ear.dir}"/>
- </copy>
+ </sync>
</target>
<target name="unexplode" description="Undeploy the exploded archive">
@@ -312,9 +312,7 @@
<target name="clean" description="Cleans up the staging directory">
<delete dir="${dist.dir}"/>
- <delete dir="${ear.dir}"/>
- <delete dir="${war.dir}"/>
- <delete dir="${jar.dir}"/>
+ <delete dir="${basedir}/exploded-archives"/>
<delete dir="${src.schema.dir}" failonerror="no"/>
<delete dir="${basedir}/test-report"/>
<delete dir="${basedir}/test-output"/>
Modified: trunk/seam-gen/icefaces/build-scripts/build-war.xml
===================================================================
--- trunk/seam-gen/icefaces/build-scripts/build-war.xml 2008-10-15 08:54:22 UTC (rev 9335)
+++ trunk/seam-gen/icefaces/build-scripts/build-war.xml 2008-10-15 08:59:59 UTC (rev 9336)
@@ -242,9 +242,9 @@
<fail unless="jboss.home">jboss.home not set</fail>
<mkdir dir="${war.deploy.dir}"/>
- <copy todir="${war.deploy.dir}">
+ <sync todir="${war.deploy.dir}">
<fileset dir="${war.dir}"/>
- </copy>
+ </sync>
</target>
<target name="unexplode" description="Undeploy the exploded archive">
@@ -294,7 +294,7 @@
<target name="clean" description="Clean out the staging directory">
<delete dir="${dist.dir}"/>
- <delete dir="${war.dir}"/>
+ <delete dir="${basedir}/exploded-archives"/>
<delete dir="${basedir}/test-report"/>
<delete dir="${basedir}/test-output"/>
<delete failonerror="no" includeemptydirs="true">
Modified: trunk/seam-gen/icefaces/build-scripts/build.xml
===================================================================
--- trunk/seam-gen/icefaces/build-scripts/build.xml 2008-10-15 08:54:22 UTC (rev 9335)
+++ trunk/seam-gen/icefaces/build-scripts/build.xml 2008-10-15 08:59:59 UTC (rev 9336)
@@ -249,15 +249,15 @@
<mkdir dir="${jar.deploy.dir}"/>
<mkdir dir="${war.deploy.dir}"/>
- <copy todir="${jar.deploy.dir}">
+ <sync todir="${jar.deploy.dir}">
<fileset dir="${jar.dir}"/>
- </copy>
- <copy todir="${war.deploy.dir}">
+ </sync>
+ <sync todir="${war.deploy.dir}">
<fileset dir="${war.dir}"/>
- </copy>
- <copy todir="${ear.deploy.dir}">
+ </sync>
+ <sync todir="${ear.deploy.dir}">
<fileset dir="${ear.dir}"/>
- </copy>
+ </sync>
</target>
<target name="unexplode" description="Undeploy the exploded archive">
@@ -307,9 +307,7 @@
<target name="clean" description="Cleans up the staging directory">
<delete dir="${dist.dir}"/>
- <delete dir="${ear.dir}"/>
- <delete dir="${war.dir}"/>
- <delete dir="${jar.dir}"/>
+ <delete dir="${basedir}/exploded-archives"/>
<delete dir="${src.schema.dir}" failonerror="no"/>
<delete dir="${basedir}/test-report"/>
<delete dir="${basedir}/test-output"/>
16 years, 1 month
Seam SVN: r9335 - in trunk/src/debug: META-INF and 4 other directories.
by seam-commits@lists.jboss.org
Author: dan.j.allen
Date: 2008-10-15 04:54:22 -0400 (Wed, 15 Oct 2008)
New Revision: 9335
Added:
trunk/src/debug/com/
trunk/src/debug/com/sun/
trunk/src/debug/com/sun/facelets/
trunk/src/debug/com/sun/facelets/StateWriterControl.java
trunk/src/debug/org/jboss/seam/debug/jsf/DebugRedirect.java
Modified:
trunk/src/debug/META-INF/debug.xhtml
trunk/src/debug/org/jboss/seam/debug/jsf/SeamDebugPhaseListener.java
Log:
Add logic to write state into response to support forms on debug page
Create a special redirect component for managing the redirect away from destroying a conversation
don't use qualified names for imported built-in components
Modified: trunk/src/debug/META-INF/debug.xhtml
===================================================================
--- trunk/src/debug/META-INF/debug.xhtml 2008-10-15 07:16:01 UTC (rev 9334)
+++ trunk/src/debug/META-INF/debug.xhtml 2008-10-15 08:54:22 UTC (rev 9335)
@@ -104,12 +104,11 @@
<f:facet name="header">Action</f:facet>
<h:outputLink>
Select
- <f:param name="#{org.jboss.seam.core.manager.conversationIdParameter}" value="#{_entry.id}"/>
+ <f:param name="#{manager.conversationIdParameter}" value="#{_entry.id}"/>
</h:outputLink>
#{' '}
- <h:commandLink actionListener="#{_entry.destroy}" action="#{org.jboss.seam.faces.redirect.execute}" value="Destroy">
- <f:setPropertyActionListener target="#{org.jboss.seam.faces.redirect.conversationPropagationEnabled}" value="#{false}"/>
- <f:setPropertyActionListener target="#{org.jboss.seam.faces.redirect.viewId}" value="#{view.viewId}"/>
+ <h:commandLink actionListener="#{_entry.destroy}" action="#{org.jboss.seam.debug.jsf.debugRedirect.execute}" value="Destroy">
+ <f:setPropertyActionListener target="#{org.jboss.seam.debug.jsf.debugRedirect.viewId}" value="#{view.viewId}"/>
</h:commandLink>
</h:column>
</h:dataTable>
@@ -146,10 +145,10 @@
<span id="conversationContextOff" style="display: none;">+</span>
<span id="conversationContextOn">-</span>
 Conversation Context 
- <h:outputText value="(#{org.jboss.seam.core.manager.currentConversationId})"
- rendered="#{org.jboss.seam.core.manager.longRunningConversation}"/>
+ <h:outputText value="(#{manager.currentConversationId})"
+ rendered="#{manager.longRunningConversation}"/>
<h:outputText value="(None selected)"
- rendered="#{!org.jboss.seam.core.manager.longRunningConversation}"/>
+ rendered="#{!manager.longRunningConversation}"/>
</a>
</h2>
<div id="conversationContext">
@@ -161,7 +160,7 @@
<h:outputLink>
#{name}
<f:param name="name" value="#{name}"/>
- <f:param name="#{org.jboss.seam.core.manager.conversationIdParameter}" value="#{conversation.id}"/>
+ <f:param name="#{manager.conversationIdParameter}" value="#{conversation.id}"/>
</h:outputLink>
</h:column>
</h:dataTable>
@@ -183,7 +182,7 @@
<h:outputLink>
#{name}
<f:param name="name" value="#{name}"/>
- <f:param name="#{org.jboss.seam.core.manager.conversationIdParameter}" value="#{conversation.id}"/>
+ <f:param name="#{manager.conversationIdParameter}" value="#{conversation.id}"/>
</h:outputLink>
</h:column>
</h:dataTable>
@@ -205,7 +204,7 @@
<h:outputLink>
#{name}
<f:param name="name" value="#{name}"/>
- <f:param name="#{org.jboss.seam.core.manager.conversationIdParameter}" value="#{conversation.id}"/>
+ <f:param name="#{manager.conversationIdParameter}" value="#{conversation.id}"/>
</h:outputLink>
</h:column>
</h:dataTable>
@@ -225,7 +224,7 @@
<h:outputLink>
#{name}
<f:param name="name" value="#{name}"/>
- <f:param name="#{org.jboss.seam.core.manager.conversationIdParameter}" value="#{conversation.id}"/>
+ <f:param name="#{manager.conversationIdParameter}" value="#{conversation.id}"/>
</h:outputLink>
</h:column>
</h:dataTable>
Added: trunk/src/debug/com/sun/facelets/StateWriterControl.java
===================================================================
--- trunk/src/debug/com/sun/facelets/StateWriterControl.java (rev 0)
+++ trunk/src/debug/com/sun/facelets/StateWriterControl.java 2008-10-15 08:54:22 UTC (rev 9335)
@@ -0,0 +1,36 @@
+package com.sun.facelets;
+
+import java.io.Writer;
+
+import javax.faces.context.ResponseWriter;
+
+/**
+ * This is a hack to instantiate a thread-local object that Facelets uses to
+ * write the STATE_KEY into the response when directed by JSF. The STATE_KEY is
+ * written in the case when there is a form on the page. This hack is necessary
+ * since we are not calling Facelets in the normal way (and hence it is not
+ * completely initialized).
+ */
+public class StateWriterControl
+{
+ public static void initialize(Writer writer)
+ {
+ new StateWriter(writer, 1024);
+ }
+
+ public static ResponseWriter createClone(ResponseWriter writer) {
+ return writer.cloneWithWriter(StateWriter.getCurrentInstance());
+ }
+
+ public static boolean isStateWritten() {
+ return StateWriter.getCurrentInstance().isStateWritten();
+ }
+
+ public static String getAndResetBuffer() {
+ return StateWriter.getCurrentInstance().getAndResetBuffer();
+ }
+
+ public static void release() {
+ StateWriter.getCurrentInstance().release();
+ }
+}
Added: trunk/src/debug/org/jboss/seam/debug/jsf/DebugRedirect.java
===================================================================
--- trunk/src/debug/org/jboss/seam/debug/jsf/DebugRedirect.java (rev 0)
+++ trunk/src/debug/org/jboss/seam/debug/jsf/DebugRedirect.java 2008-10-15 08:54:22 UTC (rev 9335)
@@ -0,0 +1,31 @@
+package org.jboss.seam.debug.jsf;
+
+import static org.jboss.seam.annotations.Install.BUILT_IN;
+
+import org.jboss.seam.annotations.Install;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.intercept.BypassInterceptors;
+import org.jboss.seam.faces.FacesManager;
+
+@Name("org.jboss.seam.debug.jsf.debugRedirect")
+@BypassInterceptors
+@Install(debug = true, precedence = BUILT_IN, classDependencies = "javax.faces.context.FacesContext")
+public class DebugRedirect
+{
+ private String viewId;
+
+ public String getViewId()
+ {
+ return viewId;
+ }
+
+ public void setViewId(String viewId)
+ {
+ this.viewId = viewId;
+ }
+
+ public void execute()
+ {
+ FacesManager.instance().redirect(viewId, null, false);
+ }
+}
Modified: trunk/src/debug/org/jboss/seam/debug/jsf/SeamDebugPhaseListener.java
===================================================================
--- trunk/src/debug/org/jboss/seam/debug/jsf/SeamDebugPhaseListener.java 2008-10-15 07:16:01 UTC (rev 9334)
+++ trunk/src/debug/org/jboss/seam/debug/jsf/SeamDebugPhaseListener.java 2008-10-15 08:54:22 UTC (rev 9335)
@@ -1,8 +1,10 @@
package org.jboss.seam.debug.jsf;
import java.io.IOException;
+import java.io.Writer;
import java.net.URL;
+import javax.faces.application.StateManager;
import javax.faces.component.UIViewRoot;
import javax.faces.context.FacesContext;
import javax.faces.context.ResponseWriter;
@@ -15,10 +17,10 @@
import org.jboss.seam.navigation.Pages;
import com.sun.facelets.Facelet;
+import com.sun.facelets.StateWriterControl;
import com.sun.facelets.compiler.SAXCompiler;
import com.sun.facelets.impl.DefaultFaceletFactory;
import com.sun.facelets.impl.DefaultResourceResolver;
-import com.sun.facelets.tag.jsf.ComponentSupport;
/**
* Intercepts any request for a view-id like /debug.xxx and renders
@@ -28,7 +30,8 @@
*/
public class SeamDebugPhaseListener implements PhaseListener
{
-
+ private static final String STATE_KEY = "~facelets.VIEW_STATE~";
+
public void beforePhase(PhaseEvent event)
{
FacesLifecycle.setPhaseId( event.getPhaseId() ); //since this gets called before SeamPhaseListener!
@@ -40,16 +43,21 @@
FacesContext facesContext = FacesContext.getCurrentInstance();
URL url = SeamDebugPhaseListener.class.getClassLoader().getResource("META-INF/debug.xhtml");
Facelet f = new DefaultFaceletFactory( new SAXCompiler(), new DefaultResourceResolver() ).getFacelet(url);
- UIViewRoot root = facesContext.getViewRoot();
- f.apply(facesContext, root);
+ UIViewRoot viewRoot = facesContext.getViewRoot();
+ f.apply(facesContext, viewRoot);
HttpServletResponse response = (HttpServletResponse) facesContext.getExternalContext().getResponse();
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html; UTF-8");
- ResponseWriter writer = facesContext.getRenderKit().createResponseWriter( response.getWriter(), "text/html", "UTF-8" );
+ ResponseWriter originalWriter = facesContext.getRenderKit().createResponseWriter( response.getWriter(), "text/html", "UTF-8" );
+ StateWriterControl.initialize(originalWriter);
+ ResponseWriter writer = StateWriterControl.createClone(originalWriter);
facesContext.setResponseWriter(writer);
- //root.renderAll();
- ComponentSupport.encodeRecursive(facesContext, root);
- writer.flush();
+ writer.startDocument();
+ viewRoot.encodeAll(facesContext);
+ writer.endDocument();
+ writer.close();
+ writeState(facesContext, originalWriter);
+ originalWriter.flush();
facesContext.responseComplete();
}
catch (IOException ioe)
@@ -66,4 +74,52 @@
return PhaseId.RENDER_RESPONSE;
}
+ private void writeState(FacesContext facesContext, Writer writer) throws IOException {
+ try
+ {
+ if (StateWriterControl.isStateWritten())
+ {
+ String content = StateWriterControl.getAndResetBuffer();
+ int end = content.indexOf(STATE_KEY);
+ if (end >= 0)
+ {
+ StateManager stateMgr = facesContext.getApplication().getStateManager();
+ Object stateObj = stateMgr.saveView(facesContext);
+ String stateStr;
+ if (stateObj == null)
+ {
+ stateStr = null;
+ }
+ else
+ {
+ stateMgr.writeState(facesContext, stateObj);
+ stateStr = StateWriterControl.getAndResetBuffer();
+ }
+
+ int start = 0;
+
+ while (end != -1)
+ {
+ writer.write(content, start, end - start);
+ if (stateStr != null)
+ {
+ writer.write(stateStr);
+ }
+ start = end + STATE_KEY.length();
+ end = content.indexOf(STATE_KEY, start);
+ }
+ writer.write(content, start, content.length() - start);
+ }
+ else
+ {
+ writer.write(content);
+ }
+ }
+ }
+ finally
+ {
+ StateWriterControl.release();
+ }
+ }
+
}
16 years, 1 month
Seam SVN: r9334 - trunk/src/debug/META-INF.
by seam-commits@lists.jboss.org
Author: dan.j.allen
Date: 2008-10-15 03:16:01 -0400 (Wed, 15 Oct 2008)
New Revision: 9334
Modified:
trunk/src/debug/META-INF/debug.xhtml
Log:
qualify JavaScript functions so they don't conflict w/ scriptaculous
add an action to destroy a conversation
show if a conversation is nested
fix spacing issue in activity
update intro paragraph
Modified: trunk/src/debug/META-INF/debug.xhtml
===================================================================
--- trunk/src/debug/META-INF/debug.xhtml 2008-10-15 05:49:42 UTC (rev 9333)
+++ trunk/src/debug/META-INF/debug.xhtml 2008-10-15 07:16:01 UTC (rev 9334)
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
- xmlns:ui="http://java.sun.com/jsf/facelets"
- xmlns:f="http://java.sun.com/jsf/core"
- xmlns:h="http://java.sun.com/jsf/html">
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html">
<f:view>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -28,75 +28,95 @@
<style type="text/css" media="print">
#sessionContext, #conversationContext, #applicationContext, #attributes, #processContext { display: block; }
</style>
- <script language="javascript" type="text/javascript">
- function toggle(id) {
- var style = document.getElementById(id).style;
- if ("block" == style.display) {
- style.display = "none";
+ <script language="Javascript" type="text/javascript">
+ SeamDebugPage = {};
+ SeamDebugPage.toggle = function(id) {
+ var el = document.getElementById(id);
+ var displayStyle = SeamDebugPage.getDisplayStyle(el);
+ if ("block" == displayStyle) {
+ el.style.display = "none";
document.getElementById(id+"Off").style.display = "inline";
document.getElementById(id+"On").style.display = "none";
}
else {
- style.display = "block";
+ el.style.display = "block";
document.getElementById(id+"Off").style.display = "none";
document.getElementById(id+"On").style.display = "inline";
}
}
- function show(id) {
- var style = document.getElementById(id).style;
- if ("none" == style.display) {
- style.display = "block";
- document.getElementById(id+"Off").style.display = "none";
- document.getElementById(id+"On").style.display = "inline";
+ SeamDebugPage.getDisplayStyle = function(el) {
+ var value = el.style.display;
+
+ if (!value) {
+ if (document.defaultView) {
+ value = document.defaultView.getComputedStyle(el, "").getPropertyValue("display");
+ }
+ else if (el.currentStyle) {
+ value = el.currentStyle.display;
+ }
}
+ return value;
}
+ function foo() {}
</script>
</head>
<body>
<h1><h:outputLink value="#{facesContext.externalContext.request.requestURI}">JBoss Seam Debug Page</h:outputLink></h1>
<div>
- This page allows you to view and inspect any component in any Seam context
- associated with the current session.
+ This page allows you to browse and inspect components in any of the Seam
+ contexts associated with the current session. It also shows a list of
+ active, long-running conversations. You can select a conversation to view
+ its contents or destroy it.
</div>
<h2>Conversations</h2>
<h:outputText value="No long-running conversations exist"
rendered="#{empty org.jboss.seam.debug.contexts.conversationEntries}"/>
- <h:dataTable value="#{org.jboss.seam.debug.contexts.conversationEntries}"
- rendered="#{not empty org.jboss.seam.debug.contexts.conversationEntries}"
- var="entry">
- <h:column>
- <f:facet name="header">conversation id</f:facet>
- #{entry.id}
- </h:column>
- <h:column>
- <f:facet name="header">activity</f:facet>
- <h:outputText value="#{entry.startDatetime}">
- <f:convertDateTime type="time"/>
- </h:outputText>
- -
- <h:outputText value="#{entry.lastDatetime}">
- <f:convertDateTime type="time"/>
- </h:outputText>
- </h:column>
- <h:column>
- <f:facet name="header">description</f:facet>
- #{entry.description}
- </h:column>
- <h:column>
- <f:facet name="header">view id</f:facet>
- #{entry.viewId}
- </h:column>
- <h:column>
- <h:outputLink>
- Select conversation context
- <f:param name="#{org.jboss.seam.core.manager.conversationIdParameter}" value="#{entry.id}"/>
- </h:outputLink>
- </h:column>
- </h:dataTable>
+ <h:form rendered="#{not empty org.jboss.seam.debug.contexts.conversationEntries}">
+ <h:dataTable var="_entry" value="#{org.jboss.seam.debug.contexts.conversationEntries}">
+ <h:column>
+ <f:facet name="header">Conversation ID</f:facet>
+ #{_entry.id}
+ </h:column>
+ <h:column>
+ <f:facet name="header">Nested?</f:facet>
+ #{_entry.nested}
+ </h:column>
+ <h:column>
+ <f:facet name="header">Activity</f:facet>
+ <h:outputText value="#{_entry.startDatetime}">
+ <f:convertDateTime type="time" timeZone="#{timeZone}"/>
+ </h:outputText>
+ #{' - '}
+ <h:outputText value="#{_entry.lastDatetime}">
+ <f:convertDateTime type="time" timeZone="#{timeZone}"/>
+ </h:outputText>
+ </h:column>
+ <h:column>
+ <f:facet name="header">Description</f:facet>
+ #{_entry.description}
+ </h:column>
+ <h:column>
+ <f:facet name="header">View ID</f:facet>
+ #{_entry.viewId}
+ </h:column>
+ <h:column>
+ <f:facet name="header">Action</f:facet>
+ <h:outputLink>
+ Select
+ <f:param name="#{org.jboss.seam.core.manager.conversationIdParameter}" value="#{_entry.id}"/>
+ </h:outputLink>
+ #{' '}
+ <h:commandLink actionListener="#{_entry.destroy}" action="#{org.jboss.seam.faces.redirect.execute}" value="Destroy">
+ <f:setPropertyActionListener target="#{org.jboss.seam.faces.redirect.conversationPropagationEnabled}" value="#{false}"/>
+ <f:setPropertyActionListener target="#{org.jboss.seam.faces.redirect.viewId}" value="#{view.viewId}"/>
+ </h:commandLink>
+ </h:column>
+ </h:dataTable>
+ </h:form>
<h2>
- <a href="#" onclick="toggle('attributes'); return false;">
+ <a href="#" onclick="SeamDebugPage.toggle('attributes'); return false;">
<span id="attributesOff" style="display: none;">+</span>
<span id="attributesOn">-</span>
 Component 
@@ -122,7 +142,7 @@
</div>
<h2>
- <a href="#" onclick="toggle('conversationContext'); return false;">
+ <a href="#" onclick="SeamDebugPage.toggle('conversationContext'); return false;">
<span id="conversationContextOff" style="display: none;">+</span>
<span id="conversationContextOn">-</span>
 Conversation Context 
@@ -148,7 +168,7 @@
</div>
<h2>
- <a href="#" onclick="toggle('processContext'); return false;">
+ <a href="#" onclick="SeamDebugPage.toggle('processContext'); return false;">
<span id="processContextOff" style="display: none;">+</span>
<span id="processContextOn">-</span>
 Business Process Context
@@ -170,7 +190,7 @@
</div>
<h2>
- <a href="#" onclick="toggle('sessionContext'); return false;">
+ <a href="#" onclick="SeamDebugPage.toggle('sessionContext'); return false;">
<span id="sessionContextOff" style="display: none;">+</span>
<span id="sessionContextOn">-</span>
 Session Context
@@ -192,7 +212,7 @@
</div>
<h2>
- <a href="#" onclick="toggle('applicationContext'); return false;">
+ <a href="#" onclick="SeamDebugPage.toggle('applicationContext'); return false;">
<span id="applicationContextOff">+</span>
<span id="applicationContextOn" style="display: none;">-</span>
 Application Context
@@ -213,7 +233,7 @@
<f:subview rendered="#{org.jboss.seam.debug.contexts.exceptionExists}">
<h2>
- <a href="#" onclick="toggle('stackTrace'); return false;">
+ <a href="#" onclick="SeamDebugPage.toggle('stackTrace'); return false;">
<span id="stackTraceOff" style="display: none;">+</span>
<span id="stackTraceOn">-</span>
 Exception
16 years, 1 month
Seam SVN: r9333 - trunk/seam-gen/icefaces/view.
by seam-commits@lists.jboss.org
Author: dan.j.allen
Date: 2008-10-15 01:49:42 -0400 (Wed, 15 Oct 2008)
New Revision: 9333
Modified:
trunk/seam-gen/icefaces/view/edit.xhtml
trunk/seam-gen/icefaces/view/editproperty.xhtml.ftl
trunk/seam-gen/icefaces/view/form.xhtml
Log:
change Decoration to Field
Modified: trunk/seam-gen/icefaces/view/edit.xhtml
===================================================================
--- trunk/seam-gen/icefaces/view/edit.xhtml 2008-10-15 05:02:23 UTC (rev 9332)
+++ trunk/seam-gen/icefaces/view/edit.xhtml 2008-10-15 05:49:42 UTC (rev 9333)
@@ -20,7 +20,7 @@
</tr>
</table>
- <s:decorate id="nameDecoration" template="layout/edit.xhtml">
+ <s:decorate id="nameField" template="layout/edit.xhtml">
<ui:define name="label">Name</ui:define>
<h:inputText id="name" required="true"
value="#{@homeName@.instance.name}"/>
Modified: trunk/seam-gen/icefaces/view/editproperty.xhtml.ftl
===================================================================
--- trunk/seam-gen/icefaces/view/editproperty.xhtml.ftl 2008-10-15 05:02:23 UTC (rev 9332)
+++ trunk/seam-gen/icefaces/view/editproperty.xhtml.ftl 2008-10-15 05:49:42 UTC (rev 9333)
@@ -7,7 +7,7 @@
<#foreach componentProperty in property.value.propertyIterator>
<#assign column = componentProperty.columnIterator.next()>
- <s:decorate id="${componentProperty.name}Decoration" template="layout/edit.xhtml">
+ <s:decorate id="${componentProperty.name}Field" template="layout/edit.xhtml">
<ui:define name="label">${label(componentProperty.name)}</ui:define>
<#if isDate(componentProperty)>
<ice:selectInputDate id="${componentProperty.name}Id"
@@ -122,7 +122,7 @@
<#else>
<#assign column = property.columnIterator.next()>
- <s:decorate id="${property.name}Decoration" template="layout/edit.xhtml">
+ <s:decorate id="${property.name}Field" template="layout/edit.xhtml">
<ui:define name="label">${label(property.name)}</ui:define>
<#if isDate(property)>
<ice:selectInputDate id="${property.name}Id"
Modified: trunk/seam-gen/icefaces/view/form.xhtml
===================================================================
--- trunk/seam-gen/icefaces/view/form.xhtml 2008-10-15 05:02:23 UTC (rev 9332)
+++ trunk/seam-gen/icefaces/view/form.xhtml 2008-10-15 05:49:42 UTC (rev 9333)
@@ -20,7 +20,7 @@
</td>
</tr>
</table>
- <s:decorate id="valueDecoration" template="layout/edit.xhtml">
+ <s:decorate id="valueField" template="layout/edit.xhtml">
<ui:define name="label">Value</ui:define>
<h:inputText id="value" required="true"
value="#{@componentName@.value}"/>
16 years, 1 month
Seam SVN: r9332 - in trunk/seam-gen: view and 1 other directory.
by seam-commits@lists.jboss.org
Author: dan.j.allen
Date: 2008-10-15 01:02:23 -0400 (Wed, 15 Oct 2008)
New Revision: 9332
Modified:
trunk/seam-gen/icefaces/view/edit.page.xml.ftl
trunk/seam-gen/view/edit.page.xml.ftl
Log:
use manual flush mode on editor screens
Modified: trunk/seam-gen/icefaces/view/edit.page.xml.ftl
===================================================================
--- trunk/seam-gen/icefaces/view/edit.page.xml.ftl 2008-10-15 04:49:44 UTC (rev 9331)
+++ trunk/seam-gen/icefaces/view/edit.page.xml.ftl 2008-10-15 05:02:23 UTC (rev 9332)
@@ -17,7 +17,7 @@
login-required="true">
- <begin-conversation join="true"/>
+ <begin-conversation join="true" flush-mode="MANUAL"/>
<action execute="${'#'}{${homeName}.wire}"/>
Modified: trunk/seam-gen/view/edit.page.xml.ftl
===================================================================
--- trunk/seam-gen/view/edit.page.xml.ftl 2008-10-15 04:49:44 UTC (rev 9331)
+++ trunk/seam-gen/view/edit.page.xml.ftl 2008-10-15 05:02:23 UTC (rev 9332)
@@ -10,7 +10,7 @@
no-conversation-view-id="/${masterPageName}.xhtml"
login-required="true">
- <begin-conversation join="true"/>
+ <begin-conversation join="true" flush-mode="MANUAL"/>
<action execute="${'#'}{${homeName}.wire}"/>
16 years, 1 month
Seam SVN: r9331 - in trunk/seam-gen: view and 1 other directory.
by seam-commits@lists.jboss.org
Author: dan.j.allen
Date: 2008-10-15 00:49:44 -0400 (Wed, 15 Oct 2008)
New Revision: 9331
Modified:
trunk/seam-gen/icefaces/view/edit.page.xml.ftl
trunk/seam-gen/view/edit.page.xml.ftl
Log:
only follow navigation if method returns non-null value
Modified: trunk/seam-gen/icefaces/view/edit.page.xml.ftl
===================================================================
--- trunk/seam-gen/icefaces/view/edit.page.xml.ftl 2008-10-15 02:39:39 UTC (rev 9330)
+++ trunk/seam-gen/icefaces/view/edit.page.xml.ftl 2008-10-15 04:49:44 UTC (rev 9331)
@@ -37,18 +37,24 @@
</#if>
<navigation from-action="${'#'}{${homeName}.persist}">
- <end-conversation/>
- <redirect view-id="/${pageName}.xhtml"/>
+ <rule>
+ <end-conversation/>
+ <redirect view-id="/${pageName}.xhtml"/>
+ </rule>
</navigation>
<navigation from-action="${'#'}{${homeName}.update}">
- <end-conversation/>
- <redirect view-id="/${pageName}.xhtml"/>
+ <rule>
+ <end-conversation/>
+ <redirect view-id="/${pageName}.xhtml"/>
+ </rule>
</navigation>
<navigation from-action="${'#'}{${homeName}.remove}">
- <end-conversation/>
- <redirect view-id="/${masterPageName}.xhtml"/>
+ <rule>
+ <end-conversation/>
+ <redirect view-id="/${masterPageName}.xhtml"/>
+ </rule>
</navigation>
</page>
Modified: trunk/seam-gen/view/edit.page.xml.ftl
===================================================================
--- trunk/seam-gen/view/edit.page.xml.ftl 2008-10-15 02:39:39 UTC (rev 9330)
+++ trunk/seam-gen/view/edit.page.xml.ftl 2008-10-15 04:49:44 UTC (rev 9331)
@@ -30,18 +30,24 @@
</#if>
<navigation from-action="${'#'}{${homeName}.persist}">
- <end-conversation/>
- <redirect view-id="/${pageName}.xhtml"/>
+ <rule>
+ <end-conversation/>
+ <redirect view-id="/${pageName}.xhtml"/>
+ </rule>
</navigation>
<navigation from-action="${'#'}{${homeName}.update}">
- <end-conversation/>
- <redirect view-id="/${pageName}.xhtml"/>
+ <rule>
+ <end-conversation/>
+ <redirect view-id="/${pageName}.xhtml"/>
+ </rule>
</navigation>
<navigation from-action="${'#'}{${homeName}.remove}">
- <end-conversation/>
- <redirect view-id="/${masterPageName}.xhtml"/>
+ <rule>
+ <end-conversation/>
+ <redirect view-id="/${masterPageName}.xhtml"/>
+ </rule>
</navigation>
</page>
16 years, 1 month
Seam SVN: r9330 - trunk/doc/Seam_Reference_Guide/en-US.
by seam-commits@lists.jboss.org
Author: jacob.orshalick
Date: 2008-10-14 22:39:39 -0400 (Tue, 14 Oct 2008)
New Revision: 9330
Modified:
trunk/doc/Seam_Reference_Guide/en-US/Conversations.xml
Log:
JBSEAM-2094
Modified: trunk/doc/Seam_Reference_Guide/en-US/Conversations.xml
===================================================================
--- trunk/doc/Seam_Reference_Guide/en-US/Conversations.xml 2008-10-15 01:52:09 UTC (rev 9329)
+++ trunk/doc/Seam_Reference_Guide/en-US/Conversations.xml 2008-10-15 02:39:39 UTC (rev 9330)
@@ -232,9 +232,35 @@
A nested conversation is created by invoking a method marked
<literal>@Begin(nested=true)</literal> inside the scope of an
existing conversation. A nested conversation has its own
- conversation context, and also has read-only access to the
- context of the outer conversation. (It can read the outer
- conversation's context variables, but not write to them.)
+ conversation context, but can read values from the outer
+ conversation's context. The outer conversation's context is
+ read-only within a nested conversation, but because objects
+ are obtained by reference, changes to the objects themselves
+ will be reflected in the outer context.
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Nesting a conversation through initializes a context that is
+ stacked on the context of the original, or outer, conversation.
+ The outer conversation is considered the parent.
+ </para>
+ </listitem>
+ <listitem>
+ <para>Any values outjected or directly set into the nested
+ conversation’s context do not affect the objects accessible in
+ the parent conversation’s context.</para>
+ </listitem>
+ <listitem>
+ <para>Injection or a context lookup from the conversation context
+ will first lookup the value in the current conversation context and,
+ if no value is found, will proceed down the conversation stack if the
+ conversation is nested. As you will see in moment, this behavior
+ can be overriden.
+ </listitem>
+ </itemizedlist>
+
+ <para>
When an <literal>@End</literal> is subsequently encountered,
the nested conversation will be destroyed, and the outer
conversation will resume, by "popping" the conversation stack.
@@ -250,23 +276,25 @@
a nested conversation ends, Seam destroys all nested conversation
contexts along with the outer context.
</para>
+
+ <para>
+ The conversation at the bottom of the conversation stack is the root
+ conversation. Destroying this conversation always destroy all of its
+ descendents. You can achieve this declaratively by specifying
+ <literal>@End(root=true)</literal>.
+ </para>
<para>
A conversation may be thought of as a <emphasis>continuable state</emphasis>.
Nested conversations allow the application to capture a consistent
continuable state at various points in a user interaction, thus
- insuring truly correct behavior in the face of backbuttoning and
+ ensuring truly correct behavior in the face of backbuttoning and
workspace management.
</para>
<para>
- TODO: an example to show how a nested conversation prevents bad
- stuff happening when you backbutton.
- </para>
-
- <para>
- Usually, if a component exists in a parent conversation of the
- current nested conversation, the nested conversation will use
+ As mentioned previously, if a component exists in a parent conversation of
+ the current nested conversation, the nested conversation will use
the same instance. Occasionally, it is useful to have a different
instance in each nested conversation, so that the component
instance that exists in the parent conversation is invisible to
16 years, 1 month
Seam SVN: r9329 - trunk/doc/Seam_Reference_Guide/en-US.
by seam-commits@lists.jboss.org
Author: jacob.orshalick
Date: 2008-10-14 21:52:09 -0400 (Tue, 14 Oct 2008)
New Revision: 9329
Modified:
trunk/doc/Seam_Reference_Guide/en-US/Annotations.xml
Log:
JBSEAM-3166
Modified: trunk/doc/Seam_Reference_Guide/en-US/Annotations.xml
===================================================================
--- trunk/doc/Seam_Reference_Guide/en-US/Annotations.xml 2008-10-15 01:41:46 UTC (rev 9328)
+++ trunk/doc/Seam_Reference_Guide/en-US/Annotations.xml 2008-10-15 01:52:09 UTC (rev 9329)
@@ -758,7 +758,18 @@
the current request, and that the redirect will be
processed in a new temporary conversation context.
</para>
- </listitem>
+ </listitem>
+ <listitem>
+ <para>
+ <literal>root</literal> — by default,
+ ending a nested conversation simply pops the conversation
+ stack and resumes the outer conversation. Setting
+ <literal>root=true</literal> specifies that the root
+ conversation should be destroyed which effectively destroys
+ the entire conversation stack. If the conversation is not
+ nested, the current conversation is simply ended.
+ </para>
+ </listitem>
</itemizedlist>
</listitem>
</varlistentry>
16 years, 1 month
Seam SVN: r9328 - trunk/doc/Seam_Reference_Guide/en-US/images.
by seam-commits@lists.jboss.org
Author: jacob.orshalick
Date: 2008-10-14 21:41:46 -0400 (Tue, 14 Oct 2008)
New Revision: 9328
Modified:
trunk/doc/Seam_Reference_Guide/en-US/images/nested-booking.png
Log:
JBSEAM-2295
Modified: trunk/doc/Seam_Reference_Guide/en-US/images/nested-booking.png
===================================================================
(Binary files differ)
16 years, 1 month
Seam SVN: r9327 - in trunk: .settings and 2 other directories.
by seam-commits@lists.jboss.org
Author: norman.richards(a)jboss.com
Date: 2008-10-14 20:45:09 -0400 (Tue, 14 Oct 2008)
New Revision: 9327
Modified:
trunk/.settings/org.eclipse.jdt.core.prefs
trunk/.settings/org.eclipse.jdt.ui.prefs
trunk/examples/itext/resources/WEB-INF/components.xml
trunk/examples/itext/resources/WEB-INF/pages.xml
trunk/examples/itext/resources/WEB-INF/web.xml
trunk/readme.txt
trunk/ui/src/main/java/org/jboss/seam/ui/resource/WebResource.java
Log:
JBSEAM-2949
Modified: trunk/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- trunk/.settings/org.eclipse.jdt.core.prefs 2008-10-15 00:23:15 UTC (rev 9326)
+++ trunk/.settings/org.eclipse.jdt.core.prefs 2008-10-15 00:45:09 UTC (rev 9327)
@@ -1,4 +1,4 @@
-#Fri Mar 14 21:59:09 GMT 2008
+#Thu Oct 09 17:55:37 CDT 2008
eclipse.preferences.version=1
org.eclipse.jdt.core.codeComplete.argumentPrefixes=
org.eclipse.jdt.core.codeComplete.argumentSuffixes=
@@ -96,7 +96,7 @@
org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
@@ -112,17 +112,17 @@
org.eclipse.jdt.core.formatter.blank_lines_before_package=0
org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
org.eclipse.jdt.core.formatter.comment.clear_blank_lines=false
org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
@@ -136,7 +136,7 @@
org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
org.eclipse.jdt.core.formatter.comment.line_length=80
org.eclipse.jdt.core.formatter.compact_else_if=true
org.eclipse.jdt.core.formatter.continuation_indentation=2
@@ -152,15 +152,15 @@
org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=3
+org.eclipse.jdt.core.formatter.indentation.size=4
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
@@ -326,13 +326,13 @@
org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
+org.eclipse.jdt.core.formatter.lineSplit=80
org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=3
+org.eclipse.jdt.core.formatter.tabulation.size=4
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
Modified: trunk/.settings/org.eclipse.jdt.ui.prefs
===================================================================
--- trunk/.settings/org.eclipse.jdt.ui.prefs 2008-10-15 00:23:15 UTC (rev 9326)
+++ trunk/.settings/org.eclipse.jdt.ui.prefs 2008-10-15 00:45:09 UTC (rev 9327)
@@ -1,6 +1,6 @@
-#Fri Mar 14 21:59:09 GMT 2008
+#Thu Oct 09 17:55:38 CDT 2008
eclipse.preferences.version=1
-formatter_profile=_Seam
+formatter_profile=_my prefs
formatter_settings_version=11
internal.default.compliance=default
org.eclipse.jdt.ui.exception.name=e
@@ -8,4 +8,4 @@
org.eclipse.jdt.ui.javadoc=false
org.eclipse.jdt.ui.keywordthis=false
org.eclipse.jdt.ui.overrideannotation=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\r\n * @return the ${bare_field_name}\r\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\r\n * @param ${param} the ${bare_field_name} to set\r\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="true" context\="filecomment_cont!
ext" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/**\r\n * \r\n */</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author ${user}\r\n *\r\n * ${tags}\r\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\r\n * \r\n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" con!
text\="overridecomment_context" deleted\="false" description\="Comment
for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment"></template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\r\n * ${tags}\r\n * ${see_to_target}\r\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_contex!
t" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\r\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_con!
text" deleted\="false" description\="Code in created method stubs" ena
bled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\r\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\r\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted!
\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/**\n * \n */</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="overridecomment_context" !
deleted\="false" description\="Comment for overriding methods" enabled
\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment"></template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new in!
terface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created met!
hod stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.
methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
Modified: trunk/examples/itext/resources/WEB-INF/components.xml
===================================================================
--- trunk/examples/itext/resources/WEB-INF/components.xml 2008-10-15 00:23:15 UTC (rev 9326)
+++ trunk/examples/itext/resources/WEB-INF/components.xml 2008-10-15 00:45:09 UTC (rev 9327)
@@ -2,10 +2,12 @@
xmlns:pdf="http://jboss.com/products/seam/pdf"
xmlns:core="http://jboss.com/products/seam/core"
xmlns:framework="http://jboss.com/products/seam/framework"
+ xmlns:web="http://jboss.com/products/seam/web"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://jboss.com/products/seam/core http://jboss.com/products/seam/core-2.1.xsd
http://jboss.com/products/seam/framework http://jboss.com/products/seam/framework-2.1.xsd
http://jboss.com/products/seam/pdf http://jboss.com/products/seam/pdf-2.1.xsd
+ http://jboss.com/products/seam/web /Users/orb/proj/jboss/seam/trunk/src/main/org/jboss/seam/web-2.1.xsd
http://jboss.com/products/seam/components http://jboss.com/products/seam/components-2.1.xsd">
<component name="org.jboss.seam.document.documentStore">
@@ -23,4 +25,9 @@
<component name="sampleButton" class="javax.swing.JButton">
<property name="label">A JButton!</property>
</component>
+
+<!--
+ <web:rewrite-filter view-mapping="/test/*" />
+-->
+ <web:rewrite-filter view-mapping="*.seam" />
</components>
Modified: trunk/examples/itext/resources/WEB-INF/pages.xml
===================================================================
--- trunk/examples/itext/resources/WEB-INF/pages.xml 2008-10-15 00:23:15 UTC (rev 9326)
+++ trunk/examples/itext/resources/WEB-INF/pages.xml 2008-10-15 00:45:09 UTC (rev 9327)
@@ -1,4 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<pages xmlns="http://jboss.com/products/seam/pages" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.1.xsd">
+ xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.1.xsd">
+
+
+ <page view-id="/foo.xhtml">
+ <rewrite pattern="/foo/{id}" />
+ <rewrite pattern="/foo-{conversationId}" />
+ <rewrite pattern="/foo" />
+ </page>
+
</pages>
Modified: trunk/examples/itext/resources/WEB-INF/web.xml
===================================================================
--- trunk/examples/itext/resources/WEB-INF/web.xml 2008-10-15 00:23:15 UTC (rev 9326)
+++ trunk/examples/itext/resources/WEB-INF/web.xml 2008-10-15 00:45:09 UTC (rev 9327)
@@ -65,9 +65,10 @@
<load-on-startup>1</load-on-startup>
</servlet>
+
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
- <url-pattern>*.seam</url-pattern>
+ <url-pattern>*.z</url-pattern>
</servlet-mapping>
<servlet>
Modified: trunk/readme.txt
===================================================================
--- trunk/readme.txt 2008-10-15 00:23:15 UTC (rev 9326)
+++ trunk/readme.txt 2008-10-15 00:45:09 UTC (rev 9327)
@@ -1,3 +1,4 @@
+
JBoss Seam - Contextual Component framework for Java EE 5
=========================================================
version 2.1.0.CR1, September 2008
@@ -8,7 +9,7 @@
Get Up And Running Quick
------------------------
-1. Install JBoss AS 4.2.3.GA. The JEMS installer is no longer required for EJB3 support.
+1. Install JBoss AS 4.2.3.GA.
2. Edit the "build.properties" file and change jboss.home to your
JBoss AS installation directory
@@ -24,29 +25,6 @@
6. Register an account, search for hotels, book a room...
-Running The TestNG Tests
-------------------------
-
-In the jboss-seam-x.x.x.x directory, type "ant testcore testreport" or "ant testall testreport".
-
-Then checkout the report in the /test-report directory.
-
-Running the TestNG Tests in Eclipse
------------------------------------
-
-1. Install the TestNG Eclipse plugin from http://beust.com/eclipse
-
-2. Create the jboss-seam Eclipse project with the following directories
- in your source path:
-
- src/main/
- src/test/misc
-
- And all jar files from the lib/ directory in your classpath.
-
-3. Run src/test/misc/org/jboss/seam/test/testng.xml using the TestNG
- plugin.
-
Learn more
----------
Modified: trunk/ui/src/main/java/org/jboss/seam/ui/resource/WebResource.java
===================================================================
--- trunk/ui/src/main/java/org/jboss/seam/ui/resource/WebResource.java 2008-10-15 00:23:15 UTC (rev 9326)
+++ trunk/ui/src/main/java/org/jboss/seam/ui/resource/WebResource.java 2008-10-15 00:45:09 UTC (rev 9327)
@@ -40,21 +40,21 @@
InputStream in = Resources.getResourceAsStream( "/org/jboss/seam/ui/resource" + pathInfo, getServletContext() );
- if (in != null)
- {
- byte[] buffer = new byte[1024];
- int read = in.read(buffer);
- while (read != -1)
- {
- response.getOutputStream().write(buffer, 0, read);
- read = in.read(buffer);
- }
- response.getOutputStream().flush();
+ try {
+ if (in != null) {
+ byte[] buffer = new byte[1024];
+ int read = in.read(buffer);
+ while (read != -1) {
+ response.getOutputStream().write(buffer, 0, read);
+ read = in.read(buffer);
+ }
+ response.getOutputStream().flush();
+ } else {
+ response.sendError(HttpServletResponse.SC_NOT_FOUND);
+ }
+ } finally {
+ Resources.closeStream(in);
}
- else
- {
- response.sendError(HttpServletResponse.SC_NOT_FOUND);
- }
}
16 years, 1 month