[ 
https://issues.apache.org/jira/browse/JSPWIKI-305?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Florian Holeczek closed JSPWIKI-305.
------------------------------------


> Change workflow classes to Serializable (part 1)
> ------------------------------------------------
>
>                 Key: JSPWIKI-305
>                 URL: https://issues.apache.org/jira/browse/JSPWIKI-305
>             Project: JSPWiki
>          Issue Type: Improvement
>          Components: Core & storage
>    Affects Versions: 2.8
>         Environment: All
>            Reporter: Andrew Jaquith
>            Assignee: Andrew Jaquith
>            Priority: Minor
>             Fix For: 2.8
>
>
> This is a placeholder for reminding ourselves to make workflow package types 
> Serializable. This will, at a future date, allow workflows to be serialized 
> to disk between WikiEngine restarts.
> This particular filing ("part 1") proposes to make the following types 
> Serializable:
> - UserProfile/DefaultUserProfile
> - UserManager.SaveUserProfileTask
> - PageManager.PreSaveWikiPageTask
> - PageManager.SaveWikiPageTask
> This filing also proposes to make the following method parameters and return 
> types Serializable:
> - All of the types in package com.ecyrd.jspwiki.workflow, except for 
> WorkflowManager
> - Parameters passed to Workflow.addMessageArgument(): change from Object to 
> Serializable
> - Parameters passed to Step.addMessageArgument() and all implementations: 
> change from Object to Serializable
> - Values returned by Workflow.getMessageArguments(): change from Object[] to 
> Serializable[]
> - Values returned by Step.getMessageArguments()  and all implementations: 
> change from Object[] to Serializable[]
> These changes will be made for the 2.8 release cycle. Because few workflow 
> implementations exist today, any backwards compatibility problems due to 
> narrowing scope (from Object to Serializable) are minimal.
> Note that because of the fact that the current "page save" workflow Tasks in 
> PageManager do not all pass Serializable objects (in particular, WikiContext 
> which resists Serialization), certain methods must keep Object parameters and 
> return types -- for now. These are:
> - Parameters passed to Workflow.setAttribute(String,Object)
> - Parameters passed to Step.setAttribute(String,Object) and all 
> implementations
> - Value returned by Workflow.getAttribute(String)
> - Value returned by Step.getAttribute(String)  and all implementations
> In 3.0, these parameters/return types of type Object *will be changed* to 
> Serializable. The issue is the lack of a proper metadata API in 2.8. Once 
> this is fixed, we will make these changes as "part 2" of the strategy as 
> described in JSPWIKI-304.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to