svn commit: r411837 - in /struts/shale/branches/mvn_reorg/shale-clay/src: main/java/org/apache/shale/clay/component/ main/java/org/apache/shale/clay/component/chain/ main/java/org/apache/shale/clay/co
Author: gvanmatre Date: Mon Jun 5 09:03:16 2006 New Revision: 411837 URL: http://svn.apache.org/viewvc?rev=411837&view=rev Log: Cleaned up some compiler warnings. Modified: struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/component/Clay.java struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/component/chain/AssignChildrenCommand.java struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/component/chain/PropertyValueCommand.java struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/config/beans/ComponentBean.java struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/config/beans/ComponentConfigBean.java struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/config/beans/TemplateConfigBean.java struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/faces/ClayViewHandler.java struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/faces/ClayViewHandlerCommand.java struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/parser/builder/CommandButtonBuilder.java struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/parser/builder/FormBuilder.java struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/parser/builder/InputTextBuilder.java struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/parser/builder/InputTextareaBuilder.java struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/parser/builder/MorphBuilder.java struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/parser/builder/OutputLabelBuilder.java struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/parser/builder/OutputLinkBuilder.java struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/parser/builder/SelectBooleanCheckboxBuilder.java struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/parser/builder/SelectItemBuilder.java struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/parser/builder/SelectItemsBuilder.java struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/parser/builder/SelectManyMenuBuilder.java struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/parser/builder/SelectOneMenuBuilder.java struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/parser/builder/SelectOneRadioBuilder.java struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/parser/builder/VerbatimBuilder.java struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/parser/builder/VoidBuilder.java struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/utils/ClayAmalgam.java struts/shale/branches/mvn_reorg/shale-clay/src/test/java/org/apache/shale/clay/config/CommentTestCase.java Modified: struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/component/Clay.java URL: http://svn.apache.org/viewvc/struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/component/Clay.java?rev=411837&r1=411836&r2=411837&view=diff == --- struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/component/Clay.java (original) +++ struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/component/Clay.java Mon Jun 5 09:03:16 2006 @@ -28,7 +28,6 @@ import javax.faces.component.UINamingContainer; import javax.faces.context.FacesContext; import javax.faces.el.MethodBinding; -import javax.faces.el.ValueBinding; import org.apache.commons.chain.Catalog; import org.apache.commons.chain.CatalogFactory; Modified: struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/component/chain/AssignChildrenCommand.java URL: http://svn.apache.org/viewvc/struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/component/chain/AssignChildrenCommand.java?rev=411837&r1=411836&r2=411837&view=diff == --- struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/component/chain/AssignChildrenCommand.java (original) +++ struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/component/chain/AssignChildrenCommand.java Mon Jun 5 09:03:16 2006 @@ -25,8 +25,6 @@ import org.apache.commons.chain.Catalog; import org.apache.commons.chain.Command; import org.apache.commons.chain.Context; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactor
svn commit: r411877 - /struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/parser/builder/JsfDefaultBuilder.java
Author: gvanmatre Date: Mon Jun 5 11:03:15 2006 New Revision: 411877 URL: http://svn.apache.org/viewvc?rev=411877&view=rev Log: Fix made to the trunk after the mvn_reorg branch. Modified: struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/parser/builder/JsfDefaultBuilder.java Modified: struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/parser/builder/JsfDefaultBuilder.java URL: http://svn.apache.org/viewvc/struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/parser/builder/JsfDefaultBuilder.java?rev=411877&r1=411876&r2=411877&view=diff == --- struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/parser/builder/JsfDefaultBuilder.java (original) +++ struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/parser/builder/JsfDefaultBuilder.java Mon Jun 5 11:03:15 2006 @@ -72,7 +72,7 @@ } // resolve inheritance and attribute overrides -if (node.getAttributes().containsKey("extends") && !jsfid.equals("converter")) { +if (node.getAttributes().containsKey("extends") || !jsfid.equals("converter")) { realizeComponent(node, targetConverter); }
svn commit: r411959 - /struts/shale/branches/mvn_reorg/shale-tiger/pom.xml
Author: craigmcc Date: Mon Jun 5 17:12:33 2006 New Revision: 411959 URL: http://svn.apache.org/viewvc?rev=411959&view=rev Log: Un-exclude the LifecycleListenerTestCase tests, after restoring a little bit more of the snarky file copying needed to set up the test webapp. This was in the "test:compile" target of the old build.xml, not in "test:webapp" with all the rest (sorry for the bum steer Wendy!) Note that this file, like a bunch of others, currently has line ending issues. I'll fix that in a separate commit -- wanted to make clear what this particular change was first. Modified: struts/shale/branches/mvn_reorg/shale-tiger/pom.xml Modified: struts/shale/branches/mvn_reorg/shale-tiger/pom.xml URL: http://svn.apache.org/viewvc/struts/shale/branches/mvn_reorg/shale-tiger/pom.xml?rev=411959&r1=411958&r2=411959&view=diff == --- struts/shale/branches/mvn_reorg/shale-tiger/pom.xml (original) +++ struts/shale/branches/mvn_reorg/shale-tiger/pom.xml Mon Jun 5 17:12:33 2006 @@ -39,9 +39,6 @@ org.apache.maven.plugins maven-surefire-plugin - -**/LifecycleListenerTestCase.java - basedir @@ -89,6 +86,11 @@ + + + +
svn commit: r411960 - /struts/shale/branches/mvn_reorg/shale-tiger/pom.xml
Author: craigmcc Date: Mon Jun 5 17:13:00 2006 New Revision: 411960 URL: http://svn.apache.org/viewvc?rev=411960&view=rev Log: Fix line endings. Modified: struts/shale/branches/mvn_reorg/shale-tiger/pom.xml Modified: struts/shale/branches/mvn_reorg/shale-tiger/pom.xml URL: http://svn.apache.org/viewvc/struts/shale/branches/mvn_reorg/shale-tiger/pom.xml?rev=411960&r1=411959&r2=411960&view=diff == --- struts/shale/branches/mvn_reorg/shale-tiger/pom.xml (original) +++ struts/shale/branches/mvn_reorg/shale-tiger/pom.xml Mon Jun 5 17:13:00 2006 @@ -1,131 +1,131 @@ - - - -http://maven.apache.org/POM/4.0.0"; -xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; -xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd";> -4.0.0 - -org.apache.struts.shale -shale-parent -1.0.3-SNAPSHOT - - -shale-tiger -jar -Shale Tiger Extensions - - - - -org.apache.maven.plugins -maven-surefire-plugin - - - -basedir -${basedir} - - -org.apache.commons.logging.LogFactory - org.apache.commons.logging.impl.LogFactoryImpl - - -org.apache.commons.logging.Log - org.apache.commons.logging.impl.SimpleLog - - - org.apache.commons.logging.simplelog.log.org.apache.shale.tiger -trace - - - - - - -org.apache.maven.plugins -maven-compiler-plugin - -1.5 -1.5 - - - -maven-antrun-plugin - - -construct-webapp -test-compile - - - - - - - - - - - - - - - - - - -run - - - - - - - - - - -javax.servlet -servlet-api - - -junit -junit - - -org.apache.struts.shale -shale-core -${pom.version} - - -org.apache.struts.shale -shale-test -${pom.version} - - - - + + + +http://maven.apache.org/POM/4.0.0"; +xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; +xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd";> +4.0.0 + +org.apache.struts.shale +shale-parent +1.0.3-SNAPSHOT + + +shale-tiger +jar +Shale Tiger Extensions + + + + +org.apache.maven.plugins +maven-surefire-plugin + + + +basedir +${basedir} + + +org.apache.commons.logging.LogFactory + org.apache.commons.logging.impl.LogFactoryImpl + + +org.apache.commons.logging.Log + org.apache.commons.logging.impl.SimpleLog + + + org.apache.commons.logging.simplelog.log.org.apache.shale.tiger +trace + + + + + + +org.apache.maven.plugins +maven-compiler-plugin + +1.5 +1.5 + + + +maven-antrun-plugin + + +construct-webapp +
[Struts Wiki] Update of "RoughSpots" by TedHusted
Dear Wiki user, You have subscribed to a wiki page or wiki category on "Struts Wiki" for change notification. The following page has been changed by TedHusted: http://wiki.apache.org/struts/RoughSpots The comment on the change is: Sorry for the late additions; I reviewed the page again for the release plan. -- Some things that could be addresssed before Action 2.0.0. (If we don't address them, we'll be stuck supporting them throughout all eternity or until Struts 3.0.0, whichever comes first. ;)) + * [Ted] Action 3.0 doesn't have to be far away. It could be phase two, and ship as soon as we want to write it. + - We have a small number of existing !WebWork users compared to the number of Struts users we'll (hopefully) eventually have. This is a new framework (if only in name) and a major release. This is our one chance to break compatibility. We must get it right now, because we will *not* be able to fix most of these problems later (the cost of breaking existing Struts users will almost always outweigh the value of the fix). + We have a small number of existing !WebWork users compared to the number of Struts users we'll (hopefully) eventually have. This is a new framework (if only in name) and a major release. This is our one chance to break compatibility. We must get it right now, because we will *not* be able to fix most of these problems later (the cost of breaking existing Struts users will almost always outweigh the value of the fix). + + * [Ted] Hopefully, there will always be new major releases and new chances to break compatability. I would also hope any change we make will pay for itself by increasing future usability. Since each team will absorb the cost of their own changes, these types of costs will always scale. The relative cost for ten teams is not more than the relative cost for ten thousand teams, since each team pays their own way. Likewise, each team will receive a payback in future productivity, and so each team will receive the net gain. Of coure, there can be an economy in clustering changes, so certain changes can be made together, so sooner can be better. I doubt that there will be a stampede of people migrating the day we roll 2.0.0. My expectation would be that it would be at leaset six months or a year after the initial release of SAF2 before a majority of teams start to migrate, giving us time for additional, incremental releases. But, I am on board for whatever set of changes we can make and have ready to roll by August. We do not need to expose Struts users to XWork; they do not care. At the very least we should build a thin abstraction layer to isolate users from XWork. XWork should be an implementation detail not part of the SAF API. We can make most of the following changes in SAF's abstraction layer and avoid breaking existing XWork users. + + * [Ted] To an extent this is true. OTOH, XWork might make a very nice business facade for a lot of applications. 1. Looking up a `ResultConfig` should be a one-liner. Right now we have to: {{{ ActionConfig config = invocation.getProxy().getConfig(); @@ -263, +269 @@ 1. Do we want `ValidationAware` (or its equivalent) to take message keys or actual messages. It takes the actual messages in WW2. `ActionMessages` in Struts takes keys. I'm a fan of keys; we would no longer need `TextProvider`. Pat suggested we take keys, and in the event that we don't find a message for the given key, pass the key along as the message. I think I'd rather fail fast. * [mrdon] Keys are fine, as long as you can do parameter replacement easily enough later. Not all apps need L18N, so I'm kinda against the fail fast. Perhaps in devMode, we add a clear warning? + * [Ted] Having lived with keys-only for all these years, I like the idea of being able to use either literals or keys. 1. Craig McC mentioned that we might want to use this in a portlet. Does this mean I should completely abstract us from `HttpServletRequest`/`PortletRequest`? * [mrdon] +1, at least in some form. This was the goal of the generic ActionContext, I believe. Cocoon has been struggling with the same issue, and they are leaning towards implementing the HttpServletRequest, et al with a portlet impl to solve this problem. They used to have this generic "Environment" api, but they are in the process of giving that up, I believe, favoring this servlet api approach. I wonder if we shouldn't find out more about their results and adopt them. @@ -437, +444 @@ addPerson.jsp }}}The ValidationInterceptor should still cause an input result to occur but if we make it through to invoking the action and there is no execute method we return the value of the configured assumed result. +* [Ted] The use case seems to be a POJO Action method. But, if the method (AddPerson) is truly POJO, then what val
[Struts Wiki] Update of "StrutsActionRelease200" by TedHusted
Dear Wiki user, You have subscribed to a wiki page or wiki category on "Struts Wiki" for change notification. The following page has been changed by TedHusted: http://wiki.apache.org/struts/StrutsActionRelease200 The comment on the change is: Add and edit tasks. -- || Initial rename of packages and configuration files || Complete || || Pass Web``Work2 codebase through the Incubator || Complete || - || Update WW2 documentation for SAF2 || Step 2 of 5 || + || Update WW2 documentation for SAF2 || Step 3 of 4 || + || Condense Showcase and Examples applications into Cookbook || - || || Finalize configuration file names || [http://mail-archive.com/dev%40struts.apache.org/msg21757.html thread]|| - || Remove selected legacy API members || - || + || Remove deprecated members (IoC components) || - || + || Remove selected legacy API members (e.g. AroundInterceptor, "do" clause) || - || + || Update JavaDoc to match new package and configuration naming || - || || Implement selected new features || - || || Resolve other outstanding issues || - || + || Add SAF1 and WW2 Migration Guides || - || + || Develop routine for exporting wiki to HTML/PDF || - || || Complete standard release plan || - || || - || - || @@ -47, +52 @@ || Step 1 - Setup new Confluence instance || Complete || || Step 2 - Initial pass to update nomenclature and remove obsolete material || Pending || || Step 3 - Update "snippets" to reference ASF repository || - || - || Step 4 - Update JavaDoc to match new package and configuration naming || - || - || Step 5 - Complete tutorials and other "TODO" sections || - || + || Step 4 - Complete tutorials and other "TODO" sections || - || == New Features Under Consideration == This initial list of new features is taken from the RoughSpots page. - + + * Separate classes that most applications need to use. Isolate classes that the framework uses internally or that are rarely used by applications. (See Rough Spot #3.) * Distinguish between the published public versus private APIs. (See Rough Spot #4.) * Deprecate or remove the Around``Interceptor. (See #7.) + * Utilize properties (methods) instead of protected or public fields (). (See #13.0 * Simplify Text``Provider. (See #15.) * On the OGNL value stack, rename #request for request parameters and #requestAttributes for request attributes. (See #17.) * Eliminate "do" clause for Action alias lookups. Scan Actions at load time for known aliases, and fail fast. * Review exception handling. Some are still being swallowed rather than rethrown. (See #20.) + * Modify `ParametersInterceptor` to sort parameter names by depth (using bucket sort) and then map them in that order (shallowest first). (See #21.) * Reduce or eliminate need to use fully-qualified class names, over and over. (See #23.) * Work with OGNL to add Java 5 support. (See #31.) * Address the confusing issue of the validation/workflow lifecycle and different methods. (See Patrick #4.) * Work with OGNL to make it a clear superset of JSTL. (See Gabe #4.) * Use the strategy pattern to swap in different implementations of interfaces like Validation``Aware. (See Tim, NTH #1.) + * Extends support on actions in xml (See Tim, NTH #2.) + + Other feature suggestions + + * Use values on the stack to override/define configuration options. (See Tim, NTH #3.) + * Combine configuration DTDs so that Actions, Messages, and Validators can be defined in a single file. (See Ted, #1.) + * Change (See Ted, #2.) + + == SAF1 Features == + + * Wildcard Action Mappings + * DynaForm as Model Object + * Extends for action mappings == Outstanding Issue Review ==
[Struts Wiki] Update of "StrutsActionRelease200" by TedHusted
Dear Wiki user, You have subscribed to a wiki page or wiki category on "Struts Wiki" for change notification. The following page has been changed by TedHusted: http://wiki.apache.org/struts/StrutsActionRelease200 The comment on the change is: Update status -- || Condense Showcase and Examples applications into Cookbook || - || || Finalize configuration file names || [http://mail-archive.com/dev%40struts.apache.org/msg21757.html thread]|| || Remove deprecated members (IoC components) || - || - || Remove selected legacy API members (e.g. AroundInterceptor, "do" clause) || - || + || Remove selected legacy API members (e.g. Around``Interceptor, "do" clause) || - || - || Update JavaDoc to match new package and configuration naming || - || + || Update Javadoc to match new package and configuration naming || - || - || Implement selected new features || - || + || Implement selected new features (supra) || - || - || Resolve other outstanding issues || - || || Add SAF1 and WW2 Migration Guides || - || || Develop routine for exporting wiki to HTML/PDF || - || + || Second documentation review || - || || Complete standard release plan || - || || - || - || @@ -50, +50 @@ [http://confluence.twdata.org/display/WW/Home Confluence Space] || Step 1 - Setup new Confluence instance || Complete || - || Step 2 - Initial pass to update nomenclature and remove obsolete material || Pending || + || Step 2 - Initial pass to update nomenclature and remove obsolete material || Complete || - || Step 3 - Update "snippets" to reference ASF repository || - || + || Step 3 - Update "snippets" to reference ASF repository || Pending || || Step 4 - Complete tutorials and other "TODO" sections || - || == New Features Under Consideration ==
[Struts Wiki] Update of "StrutsActionRelease200" by TedHusted
Dear Wiki user, You have subscribed to a wiki page or wiki category on "Struts Wiki" for change notification. The following page has been changed by TedHusted: http://wiki.apache.org/struts/StrutsActionRelease200 The comment on the change is: Corrections, Clarifications. -- || Remove deprecated members (IoC components) || - || || Remove selected legacy API members (e.g. Around``Interceptor, "do" clause) || - || || Update Javadoc to match new package and configuration naming || - || - || Implement selected new features (supra) || - || + || Implement selected new features and SAF1 features (infra) || - || || Add SAF1 and WW2 Migration Guides || - || || Develop routine for exporting wiki to HTML/PDF || - || || Second documentation review || - || @@ -80, +80 @@ * Combine configuration DTDs so that Actions, Messages, and Validators can be defined in a single file. (See Ted, #1.) * Change (See Ted, #2.) - == SAF1 Features == + == SAF1 Features to Implement == * Wildcard Action Mappings * DynaForm as Model Object
[Struts Wiki] Update of "StrutsWebLinks" by MichaelJouravlev
Dear Wiki user, You have subscribed to a wiki page or wiki category on "Struts Wiki" for change notification. The following page has been changed by MichaelJouravlev: http://wiki.apache.org/struts/StrutsWebLinks The comment on the change is: Added edmunds.com to the list -- * http://www.3java.net - A comprehensive directory of Java(tm) open source software, as well as an evaluation system that aids in the selection of open source software. Developed with Struts & Velocity. * http://www.discounttire.com - Discout Tire Company (as of Jan 2006, redesigned in 2005?) * http://www.orangepics.com - Simple, Safe Photo Sharing + * http://www.edmunds.com - Auto prices and reviews. Uses Struts/Tiles along with Spring/Hibernate/EJB stack running on !WebLogic server (as of June 2006) === Other Applications Using Struts ===
svn commit: r412004 - in /struts/shale/trunk: core-library/src/java/org/apache/shale/view/AbstractFacesBean.java tiger/nbproject/private/private.xml
Author: craigmcc Date: Mon Jun 5 21:58:14 2006 New Revision: 412004 URL: http://svn.apache.org/viewvc?rev=412004&view=rev Log: More convenience methods for the convenience base class for backing beans. This commit will also need to be ported to the mvn_reorg branch. Modified: struts/shale/trunk/core-library/src/java/org/apache/shale/view/AbstractFacesBean.java struts/shale/trunk/tiger/nbproject/private/private.xml Modified: struts/shale/trunk/core-library/src/java/org/apache/shale/view/AbstractFacesBean.java URL: http://svn.apache.org/viewvc/struts/shale/trunk/core-library/src/java/org/apache/shale/view/AbstractFacesBean.java?rev=412004&r1=412003&r2=412004&view=diff == --- struts/shale/trunk/core-library/src/java/org/apache/shale/view/AbstractFacesBean.java (original) +++ struts/shale/trunk/core-library/src/java/org/apache/shale/view/AbstractFacesBean.java Mon Jun 5 21:58:14 2006 @@ -17,11 +17,13 @@ package org.apache.shale.view; import java.util.HashMap; +import java.util.Iterator; import java.util.Map; import javax.faces.FactoryFinder; import javax.faces.application.Application; import javax.faces.application.FacesMessage; +import javax.faces.component.EditableValueHolder; import javax.faces.component.UIComponent; import javax.faces.component.UIViewRoot; import javax.faces.context.ExternalContext; @@ -291,6 +293,48 @@ } +// -- Erase Submitted Values + + +/** + * Erase submitted values on all EditableValueHolder + * components in the current view. This method should be called if + * you have input components bound to data values, submit the form, + * and then arbitrarily change the data that the binding points at + * without going through the Update Model Values phase of + * the request processing lifecycle. + */ +protected void erase() { + +UIComponent view = getFacesContext().getViewRoot(); +if (view != null) { +erase(view); +} + +} + + +/** + * Private helper method for erase() that recursively + * descends the component tree and performs the required processing. + * + * @param component The component to be erased + */ +private void erase(UIComponent component) { + +// Erase the component itself (if needed) +if (component instanceof EditableValueHolder) { +((EditableValueHolder) component).setSubmittedValue(null); +} +// Process the facets and children of this component +Iterator kids = component.getFacetsAndChildren(); +while (kids.hasNext()) { +erase((UIComponent) kids.next()); +} + +} + + // --- Request Parameter Methods @@ -333,7 +377,16 @@ */ protected void log(String message) { -getExternalContext().log(message); +FacesContext context = getFacesContext(); +ExternalContext econtext = null; +if (context != null) { +econtext = context.getExternalContext(); +} +if (econtext != null) { +econtext.log(message); +} else { +System.out.println(message); +} } @@ -346,7 +399,17 @@ */ protected void log(String message, Throwable throwable) { -getExternalContext().log(message, throwable); +FacesContext context = getFacesContext(); +ExternalContext econtext = null; +if (context != null) { +econtext = context.getExternalContext(); +} +if (econtext != null) { +econtext.log(message, throwable); +} else { +System.out.println(message); +throwable.printStackTrace(System.out); +} } Modified: struts/shale/trunk/tiger/nbproject/private/private.xml URL: http://svn.apache.org/viewvc/struts/shale/trunk/tiger/nbproject/private/private.xml?rev=412004&r1=412003&r2=412004&view=diff == --- struts/shale/trunk/tiger/nbproject/private/private.xml (original) +++ struts/shale/trunk/tiger/nbproject/private/private.xml Mon Jun 5 21:58:14 2006 @@ -1,4 +1,8 @@ http://www.netbeans.org/ns/project-private/1";> http://www.netbeans.org/ns/editor-bookmarks/1"/> +http://www.netbeans.org/ns/projectui-open-files/1";> + file:/C:/Apache/struts/current/shale/tiger/src/java/org/apache/shale/tiger/view/faces/LifecycleListener2.java + file:/C:/Apache/struts/current/shale/tiger/src/java/org/apache/shale/tiger/view/faces/ViewControllerCallbacks2.java +