[
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