Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 335182

Summary: [Flock] ignoring keyword
Product: [Modeling] Epsilon Reporter: Louis Rose <louis>
Component: CoreAssignee: Louis Rose <louis>
Status: CLOSED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Mac OS X - Carbon (unsup.)   
Whiteboard: interim

Description Louis Rose CLA 2011-01-24 08:25:59 EST
Currently, there's no way to indicate to Flock that some properties should not be copied from original to migrated model. The following pattern is used:

migrate Foo {
  migrated.a = null;
  migrated.b = null;
}

This is not very concise, inefficient (properties are copied and then unset), and does not take advantage of any default values that might be set in the evolved metamodel.

A declarative specification of ignored properties would avoid the above issues.
Comment 1 Louis Rose CLA 2011-01-24 08:27:46 EST
The following syntax has been added:

migrate Foo ignoring a, b {
  // do nothing
}

The body of a rule be omitted if an ignoring part is specified:

migrate Foo ignoring a, b

Ignored properties propagate down the type hierarchy:

migrate NamedElement ignoring name
migrate Family {
  // migrated.name will always be undefined
}
Comment 2 Louis Rose CLA 2011-02-24 11:33:33 EST
Checked into SVN. Assigning to Dimitris for build integration, thanks!
Comment 3 Louis Rose CLA 2011-06-01 14:20:06 EDT
This was fixed no later than interim build 0.9.0.201104180016.
Comment 4 Dimitris Kolovos CLA 2011-07-25 08:15:53 EDT
Fixed in 0.9.1