[[BackLinksMenu]] [[TicketQuery(summary=PRO_CHANGE_COMPOSING_R0, format=table, col=summary|owner|status|type|component|priority|effort|importance, rows=description|analysis_owners|analysis_reviewers|analysis_score|design_owners|design_reviewers|design_score|implementation_owners|implementation_reviewers|implementation_score|test_owners|test_reviewers|test_score|)]] = Analysis = == Overview == This task is about composite changes. Such changes are constructed of a list of simple changes. == Task requirements == * Review code [source:trunk/sophie2-platform/modules/org.sophie2.core/src/main/java/org/sophie2/core/prolib/events/GroupChange.java GroupChange] which represent a composite change. * View also the things in [source:trunk/sophie2-platform/modules/org.sophie2.core/src/main/java/org/sophie2/core/prolib/events Classes connected with changes]. * Make sure composite changes are properly created. * Write unit tests and review the already written such unit tests. * Provide examples when composing changes should be done - for example when the user hits the space key, a new character is entered and this is a simple change. On the other hand entering a word is a set of characters that should be undone as a !GroupChange. * Composing changes should be undone properly as well. * '''NOTE''' pay special attention to the following task since for !GroupChanges it is vital => [wiki:PRO_CHANGE_TRANSACTION_SAFETY_R0] == Task result == * Source code. * List of composite changes in the wiki and the way a composite change is created. == Implementation idea == * review source code. * think what should be improved and do it. * provide more unit tests. * think of the examples that should be composite changes. == Related == [wiki:PRO_CHANGE_PRIMITIVES_R0] [[BR]] [wiki:PRO_CHANGE_TRANSACTION_SAFETY_R0] [[BR]] [wiki:PRO_CHANGE_COMMONS_R0] [[BR]] [wiki:PRO_CHANGE_MANAGER_R0] [[BR]] == How to demo == = Design = = Implementation = = Testing = = Comments =