Issue Details (XML | Word | Printable)

Key: SHALE-251
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Craig McClanahan
Reporter: Mike Kienenberger
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Shale

Java 1.5 method java.lang.String.replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;) used in org.apache.shale.test.mock.MockValueBinding.parse

Created: 11/Aug/06 11:37 PM   Updated: 18/Sep/08 04:33 AM
Return to search
Component/s: Test
Affects Version/s: 1.0.3-SNAPSHOT
Fix Version/s: 1.0.3

File Attachments:
  Size
Text File Licensed for inclusion in ASF works MockValueBinding.java.patch.txt 2006-08-12 12:01 AM Mike Kienenberger 0.7 kB
Environment: MyFaces Tomahawk 1.1.5 snapshot from 2006-08-11

Flags: Important


 Description  « Hide
java.lang.NoSuchMethodError: java.lang.String.replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
at org.apache.shale.test.mock.MockValueBinding.parse(MockValueBinding.java:328)
at org.apache.shale.test.mock.MockValueBinding.getValue(MockValueBinding.java:112)
at javax.faces.component.UIOutput.getValue(UIOutput.java:75)

The following Java 1.5 code snuck into the Shale 1.0.3 snapshot test framework, which is documented to be Java 1.4 compatible.

This is causing the default build for MyFaces (which includes running the tests) to fail.


 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Repository Revision Date User Message
ASF #431084 Sat Aug 12 20:55:14 UTC 2006 craigmcc Remove 1.5-ism. Thanks to Mike Kienenberger for the patch.

SHALE-251
Files Changed
MODIFY /shale/framework/trunk/shale-test/src/main/java/org/apache/shale/test/mock/MockValueBinding.java

Repository Revision Date User Message
ASF #482364 Mon Dec 04 21:25:07 UTC 2006 craigmcc First round of supporting events when DialogContextManager.create() or
DialogContextManager.remove() is called. You can now register listeners of
type DialogContextManagerListener on the DialogContextManager instance. One
remaining FIXME is to make it possible to be notified when DialogContextManager
instances themselves are placed in and out of service -- since these instances
are typically a session scoped managed bean, we need to do something
interesting in order to fire the necessary events.

Also did a bit of other cleanup:

* Renamed DialogListener to DialogContextListener (with associated
  ripple effects on method names) for naming consistency

* Added synchronization in a couple of missing cases

* Provided getXxxxxListener() methods that returned an array of
  registered listeners for each type

* Used the "get" methods in the abstract base classes to (a) avoid
  problems if the list of listeners is modified while being traversed
  to fire events, and (b) took the event firing calls out of the
  synchronization blocks to avoid overhead when an event listener
  might take a long time to return.

SHALE-251
Files Changed
DEL /shale/framework/trunk/shale-dialog/src/main/java/org/apache/shale/dialog/DialogListener.java
MODIFY /shale/framework/trunk/shale-dialog-scxml/src/main/java/org/apache/shale/dialog/scxml/SCXMLDialogManager.java
ADD /shale/framework/trunk/shale-dialog/src/main/java/org/apache/shale/dialog/base/AbstractDialogContextListener.java (from /shale/framework/trunk/shale-dialog/src/main/java/org/apache/shale/dialog/base/AbstractDialogListener.java)
ADD /shale/framework/trunk/shale-dialog/src/main/java/org/apache/shale/dialog/DialogContextManagerListener.java
MODIFY /shale/framework/trunk/shale-dialog-basic/src/main/java/org/apache/shale/dialog/basic/BasicDialogManager.java
MODIFY /shale/framework/trunk/shale-dialog/src/main/java/org/apache/shale/dialog/base/AbstractDialogContext.java
MODIFY /shale/framework/trunk/shale-dialog/src/main/java/org/apache/shale/dialog/DialogContextManager.java
DEL /shale/framework/trunk/shale-dialog/src/main/java/org/apache/shale/dialog/base/AbstractDialogListener.java
ADD /shale/framework/trunk/shale-dialog/src/main/java/org/apache/shale/dialog/DialogContextListener.java (from /shale/framework/trunk/shale-dialog/src/main/java/org/apache/shale/dialog/DialogListener.java)
MODIFY /shale/framework/trunk/shale-dialog/src/main/java/org/apache/shale/dialog/DialogContext.java
ADD /shale/framework/trunk/shale-dialog/src/main/java/org/apache/shale/dialog/base/AbstractDialogContextManager.java
MODIFY /shale/framework/trunk/shale-dialog-scxml/src/main/java/org/apache/shale/dialog/scxml/SCXMLDialogContext.java

Repository Revision Date User Message
ASF #482418 Tue Dec 05 00:04:26 UTC 2006 craigmcc Implement the remainder of the functionality needed for event processing in
shale-dialog (SHALE-251):

* A new listener interface (DialogLifecycleListener) and associated
  abstract base class. If the application defines an application scoped
  (not required, but conventional) managed bean that implements this
  interface under a reserved managed bean name (Constants.LIFECYCLE_ATTR),
  this listener will be notified when new DialogContextManager instances
  are created (placed into session scope) or removed (removed from session
  scope either deliberatly or because the session timed out). This gives
  the application a hook to add listeners anywhere and everywhere it needs to.

* As a convenience, modify the contract for DialogContext.setData() such that,
  if the specified "data" object is of a class that implements
  DialogContextListener, automatically register it (upon entry) and
  deregister it (upon completion of the dialog). This makes it extremely
  simple for applications that want to be notified as states change, since
  the app will most likely have a "data" object to maintain conversational
  state anyway.

I did not see anywhere else that shale-dialog-scxml messed with the
data field directly; if there are such places, they will need to have the
listener related logic added there as well.
Files Changed
MODIFY /shale/framework/trunk/shale-apps/shale-test-dialog-basic/src/main/webapp/WEB-INF/faces-config.xml
ADD /shale/framework/trunk/shale-apps/shale-test-dialog-basic/src/main/java/org/apache/shale/examples/test/dialog/basic/ContextListener.java
MODIFY /shale/framework/trunk/shale-dialog/src/main/java/org/apache/shale/dialog/Constants.java
MODIFY /shale/framework/trunk/shale-dialog-basic/src/main/java/org/apache/shale/dialog/basic/BasicDialogContext.java
ADD /shale/framework/trunk/shale-apps/shale-test-dialog-basic/src/main/java/org/apache/shale/examples/test/dialog/basic/ManagerListener.java
ADD /shale/framework/trunk/shale-dialog/src/main/java/org/apache/shale/dialog/base/AbstractDialogLifecycleListener.java
ADD /shale/framework/trunk/shale-apps/shale-test-dialog-basic/src/main/java/org/apache/shale/examples/test/dialog/basic/LifecycleListener.java
ADD /shale/framework/trunk/shale-dialog/src/main/java/org/apache/shale/dialog/base/AbstractDialogContextManagerListener.java
MODIFY /shale/framework/trunk/shale-dialog/src/main/java/org/apache/shale/dialog/DialogContext.java
MODIFY /shale/framework/trunk/shale-dialog/src/main/java/org/apache/shale/dialog/base/AbstractDialogContextManager.java
ADD /shale/framework/trunk/shale-dialog/src/main/java/org/apache/shale/dialog/DialogLifecycleListener.java
MODIFY /shale/framework/trunk/shale-dialog-scxml/src/main/java/org/apache/shale/dialog/scxml/SCXMLDialogContext.java

Repository Revision Date User Message
ASF #482449 Tue Dec 05 01:59:48 UTC 2006 rahul For the dialog modules:
 * Have the base classes implement Serializable where applicable
 * Remove any redundant implements clauses on the concrete subclasses
Related to SHALE-251 improvements.
Files Changed
MODIFY /shale/framework/trunk/shale-dialog-scxml/src/main/java/org/apache/shale/dialog/scxml/SCXMLDialogManager.java
MODIFY /shale/framework/trunk/shale-dialog-basic/src/main/java/org/apache/shale/dialog/basic/BasicDialogManager.java
MODIFY /shale/framework/trunk/shale-dialog/src/main/java/org/apache/shale/dialog/base/AbstractDialogContext.java
MODIFY /shale/framework/trunk/shale-dialog/src/main/java/org/apache/shale/dialog/base/AbstractDialogContextManagerListener.java
MODIFY /shale/framework/trunk/shale-dialog/src/main/java/org/apache/shale/dialog/base/AbstractDialogContextManager.java

Repository Revision Date User Message
ASF #482467 Tue Dec 05 02:53:16 UTC 2006 craigmcc Based on feedback from Rahul Akolkar, change the lifecycle event names
from onInstall/onRemove to onInit/onDestroy. The former names were relevant
from an internal implementation viewpoint, but "init" and "destroy" are
pervasive in other lifecycle APIs that Shale publishes.

SHALE-251
Files Changed
MODIFY /shale/framework/trunk/shale-apps/shale-test-dialog-scxml
MODIFY /shale/framework/trunk/shale-dialog/src/main/java/org/apache/shale/dialog/base/AbstractDialogLifecycleListener.java
MODIFY /shale/framework/trunk/shale-apps/shale-test-dialog-basic/src/main/java/org/apache/shale/examples/test/dialog/basic/LifecycleListener.java
MODIFY /shale/framework/trunk/shale-apps/shale-test-view
MODIFY /shale/framework/trunk/src/site/site.xml
MODIFY /shale/framework/trunk/shale-apps/shale-test-tiger
MODIFY /shale/framework/trunk/shale-dialog/src/main/java/org/apache/shale/dialog/base/AbstractDialogContextManager.java
MODIFY /shale/framework/trunk/shale-dialog/src/main/java/org/apache/shale/dialog/DialogLifecycleListener.java