You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jspwiki.apache.org by "Florian Holeczek (JIRA)" <ji...@apache.org> on 2011/09/11 01:41:08 UTC

[jira] [Closed] (JSPWIKI-305) Change workflow classes to Serializable (part 1)

     [ 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