Lines 35-46
Link Here
|
35 |
|
35 |
|
36 |
class MigrationDelegate extends MigrationHelperDelegateImpl { |
36 |
class MigrationDelegate extends MigrationHelperDelegateImpl { |
37 |
private EReference myGenAuditContainer_ChildContainers; |
37 |
private EReference myGenAuditContainer_ChildContainers; |
38 |
private EReference myGenAuditContainer_Audits; |
38 |
private EReference myGenAuditRoot_Audits; |
39 |
private EAttribute myGenAuditRoot_Id; |
39 |
private EAttribute myGenAuditRoot_Id; |
40 |
private EAttribute myGenAuditRoot_Name; |
40 |
private EAttribute myGenAuditRoot_Name; |
41 |
private EAttribute myGenAuditRoot_Description; |
41 |
private EAttribute myGenAuditRoot_Description; |
42 |
private GenAuditContainer myRootContainer; |
42 |
private GenAuditContainer myRootContainer; |
43 |
private Collection<String> myBackwardSupportedURIs; |
|
|
44 |
private Map<GenExpressionInterpreter, Collection<String>> myRequiredPlugins; |
43 |
private Map<GenExpressionInterpreter, Collection<String>> myRequiredPlugins; |
45 |
private GenExpressionProviderContainer myProvidersContainer; |
44 |
private GenExpressionProviderContainer myProvidersContainer; |
46 |
|
45 |
|
Lines 71-77
Link Here
|
71 |
renamings.put("requiredPluginIDs", GMFGenPackage.eINSTANCE.getGenPlugin_RequiredPlugins()); //$NON-NLS-1$ |
70 |
renamings.put("requiredPluginIDs", GMFGenPackage.eINSTANCE.getGenPlugin_RequiredPlugins()); //$NON-NLS-1$ |
72 |
registerRenamedAttributes(GMFGenPackage.eINSTANCE.getGenExpressionInterpreter(), renamings); |
71 |
registerRenamedAttributes(GMFGenPackage.eINSTANCE.getGenExpressionInterpreter(), renamings); |
73 |
} |
72 |
} |
74 |
registerNarrowReferenceType(GMFGenPackage.eINSTANCE.getGenFeatureSeqInitializer_Initializers(), GMFGenPackage.eINSTANCE.getGenFeatureValueSpec()); |
|
|
75 |
{ |
73 |
{ |
76 |
Map<String, EStructuralFeature> renamings = new HashMap<String, EStructuralFeature>(); |
74 |
Map<String, EStructuralFeature> renamings = new HashMap<String, EStructuralFeature>(); |
77 |
renamings.put("metaFeature", GMFGenPackage.eINSTANCE.getFeatureLabelModelFacet_MetaFeatures()); //$NON-NLS-1$ |
75 |
renamings.put("metaFeature", GMFGenPackage.eINSTANCE.getFeatureLabelModelFacet_MetaFeatures()); //$NON-NLS-1$ |
Lines 79-130
Link Here
|
79 |
} |
77 |
} |
80 |
registerRenamedType("CompositeFeatureLabelModelFacet", GMFGenPackage.eINSTANCE.getFeatureLabelModelFacet()); //$NON-NLS-1$ |
78 |
registerRenamedType("CompositeFeatureLabelModelFacet", GMFGenPackage.eINSTANCE.getFeatureLabelModelFacet()); //$NON-NLS-1$ |
81 |
myGenAuditContainer_ChildContainers = createNewReference("childContainers", GMFGenPackage.eINSTANCE.getGenAuditContainer(), true); //$NON-NLS-1$ |
79 |
myGenAuditContainer_ChildContainers = createNewReference("childContainers", GMFGenPackage.eINSTANCE.getGenAuditContainer(), true); //$NON-NLS-1$ |
82 |
myGenAuditContainer_Audits = createNewReference("audits", GMFGenPackage.eINSTANCE.getGenAuditRule(), true); //$NON-NLS-1$ |
|
|
83 |
myGenAuditRoot_Id = (EAttribute) EcoreUtil.copy(GMFGenPackage.eINSTANCE.getGenAuditContainer_Id()); |
84 |
myGenAuditRoot_Name = (EAttribute) EcoreUtil.copy(GMFGenPackage.eINSTANCE.getGenAuditContainer_Name()); |
85 |
myGenAuditRoot_Description = (EAttribute) EcoreUtil.copy(GMFGenPackage.eINSTANCE.getGenAuditContainer_Description()); |
86 |
{ |
80 |
{ |
87 |
Map<String, EStructuralFeature> renamings = new HashMap<String, EStructuralFeature>(); |
81 |
Map<String, EStructuralFeature> renamings = new HashMap<String, EStructuralFeature>(); |
88 |
renamings.put(myGenAuditContainer_Audits.getName(), myGenAuditContainer_Audits); |
|
|
89 |
renamings.put(myGenAuditContainer_ChildContainers.getName(), myGenAuditContainer_ChildContainers); |
82 |
renamings.put(myGenAuditContainer_ChildContainers.getName(), myGenAuditContainer_ChildContainers); |
90 |
registerRenamedAttributes(GMFGenPackage.eINSTANCE.getGenAuditContainer(), renamings); |
83 |
registerRenamedAttributes(GMFGenPackage.eINSTANCE.getGenAuditContainer(), renamings); |
91 |
} |
84 |
} |
|
|
85 |
myGenAuditRoot_Id = (EAttribute) EcoreUtil.copy(GMFGenPackage.eINSTANCE.getGenAuditContainer_Id()); |
86 |
myGenAuditRoot_Name = (EAttribute) EcoreUtil.copy(GMFGenPackage.eINSTANCE.getGenAuditContainer_Name()); |
87 |
myGenAuditRoot_Description = (EAttribute) EcoreUtil.copy(GMFGenPackage.eINSTANCE.getGenAuditContainer_Description()); |
88 |
myGenAuditRoot_Audits = createNewReference("audits", GMFGenPackage.eINSTANCE.getGenAuditRule(), true); //$NON-NLS-1$ |
92 |
{ |
89 |
{ |
93 |
Map<String, EStructuralFeature> renamings = new HashMap<String, EStructuralFeature>(); |
90 |
Map<String, EStructuralFeature> renamings = new HashMap<String, EStructuralFeature>(); |
94 |
renamings.put(myGenAuditContainer_Audits.getName(), myGenAuditContainer_Audits); |
91 |
renamings.put(myGenAuditRoot_Audits.getName(), myGenAuditRoot_Audits); |
95 |
renamings.put(myGenAuditContainer_ChildContainers.getName(), myGenAuditContainer_ChildContainers); |
92 |
renamings.put(myGenAuditContainer_ChildContainers.getName(), myGenAuditContainer_ChildContainers); |
96 |
renamings.put(myGenAuditRoot_Id.getName(), myGenAuditRoot_Id); |
93 |
renamings.put(myGenAuditRoot_Id.getName(), myGenAuditRoot_Id); |
97 |
renamings.put(myGenAuditRoot_Name.getName(), myGenAuditRoot_Name); |
94 |
renamings.put(myGenAuditRoot_Name.getName(), myGenAuditRoot_Name); |
98 |
renamings.put(myGenAuditRoot_Description.getName(), myGenAuditRoot_Description); |
95 |
renamings.put(myGenAuditRoot_Description.getName(), myGenAuditRoot_Description); |
99 |
registerRenamedAttributes(GMFGenPackage.eINSTANCE.getGenAuditRoot(), renamings); |
96 |
registerRenamedAttributes(GMFGenPackage.eINSTANCE.getGenAuditRoot(), renamings); |
100 |
} |
97 |
} |
|
|
98 |
|
99 |
//registerNarrowReferenceType(GMFGenPackage.eINSTANCE.getGenFeatureSeqInitializer_Initializers(), GMFGenPackage.eINSTANCE.getGenFeatureValueSpec()); |
100 |
// ---> |
101 |
registerNarrowedAbstractType("GenFeatureInitializer", GMFGenPackage.eINSTANCE.getGenFeatureValueSpec()); //$NON-NLS-1$ |
102 |
|
101 |
myRootContainer = null; |
103 |
myRootContainer = null; |
102 |
myProvidersContainer = null; |
104 |
myProvidersContainer = null; |
103 |
myRequiredPlugins = null; |
105 |
myRequiredPlugins = null; |
104 |
} |
106 |
} |
105 |
|
107 |
|
106 |
@Override |
|
|
107 |
public boolean isOldVersionDetected(String uriString) { |
108 |
return !getMetamodelNsURI().equals(uriString) && getBackwardSupportedURIs().contains(uriString); |
109 |
} |
110 |
|
111 |
@Override |
108 |
@Override |
112 |
public boolean setValue(EObject object, EStructuralFeature feature, Object value, int position) { |
109 |
public boolean setValue(EObject object, EStructuralFeature feature, Object value, int position) { |
113 |
if (myGenAuditRoot_Id.equals(feature)) { |
110 |
if (GMFGenPackage.eINSTANCE.getGenPlugin_RequiredPlugins().equals(feature) && object instanceof GenExpressionInterpreter) { |
|
|
111 |
GenExpressionInterpreter expressionInterpreter = (GenExpressionInterpreter) object; |
112 |
String requiredPlugin = (String) value; |
113 |
saveRequiredPlugin(expressionInterpreter, requiredPlugin); |
114 |
} else if (myGenAuditRoot_Id.equals(feature)) { |
114 |
GenAuditRoot root = (GenAuditRoot) object; |
115 |
GenAuditRoot root = (GenAuditRoot) object; |
115 |
String id = (String) value; |
116 |
String id = (String) value; |
116 |
GenAuditContainer rootContainer = getOrCreateRootContainerOnce(root); |
117 |
GenAuditContainer rootContainer = getOrCreateRootContainerOnce(root); |
117 |
rootContainer.setId(id); |
118 |
rootContainer.setId(id); |
|
|
119 |
fireMigrationApplied(true); |
118 |
} else if (myGenAuditRoot_Name.equals(feature)) { |
120 |
} else if (myGenAuditRoot_Name.equals(feature)) { |
119 |
GenAuditRoot root = (GenAuditRoot) object; |
121 |
GenAuditRoot root = (GenAuditRoot) object; |
120 |
String name = (String) value; |
122 |
String name = (String) value; |
121 |
GenAuditContainer rootContainer = getOrCreateRootContainerOnce(root); |
123 |
GenAuditContainer rootContainer = getOrCreateRootContainerOnce(root); |
122 |
rootContainer.setName(name); |
124 |
rootContainer.setName(name); |
|
|
125 |
fireMigrationApplied(true); |
123 |
} else if (myGenAuditRoot_Description.equals(feature)) { |
126 |
} else if (myGenAuditRoot_Description.equals(feature)) { |
124 |
GenAuditRoot root = (GenAuditRoot) object; |
127 |
GenAuditRoot root = (GenAuditRoot) object; |
125 |
String description = (String) value; |
128 |
String description = (String) value; |
126 |
GenAuditContainer rootContainer = getOrCreateRootContainerOnce(root); |
129 |
GenAuditContainer rootContainer = getOrCreateRootContainerOnce(root); |
127 |
rootContainer.setDescription(description); |
130 |
rootContainer.setDescription(description); |
|
|
131 |
fireMigrationApplied(true); |
128 |
} else if (myGenAuditContainer_ChildContainers.equals(feature) && object instanceof GenAuditRoot) { |
132 |
} else if (myGenAuditContainer_ChildContainers.equals(feature) && object instanceof GenAuditRoot) { |
129 |
GenAuditRoot root = (GenAuditRoot)object; |
133 |
GenAuditRoot root = (GenAuditRoot)object; |
130 |
GenAuditContainer container = (GenAuditContainer)value; |
134 |
GenAuditContainer container = (GenAuditContainer)value; |
Lines 132-142
Link Here
|
132 |
container.getPath().add(myRootContainer); |
136 |
container.getPath().add(myRootContainer); |
133 |
} |
137 |
} |
134 |
root.getCategories().add(container); |
138 |
root.getCategories().add(container); |
135 |
} else if (myGenAuditContainer_Audits.equals(feature) && object instanceof GenAuditRoot) { |
139 |
fireMigrationApplied(true); |
|
|
140 |
} else if (myGenAuditRoot_Audits.equals(feature) && object instanceof GenAuditRoot) { |
136 |
GenAuditRoot root = (GenAuditRoot)object; |
141 |
GenAuditRoot root = (GenAuditRoot)object; |
137 |
GenAuditRule rule = (GenAuditRule)value; |
142 |
GenAuditRule rule = (GenAuditRule)value; |
138 |
if (myRootContainer != null) { |
143 |
if (myRootContainer != null) { |
139 |
rule.setCategory(myRootContainer); |
144 |
rule.setCategory(myRootContainer); |
|
|
145 |
fireMigrationApplied(true); |
140 |
} |
146 |
} |
141 |
root.getRules().add(rule); |
147 |
root.getRules().add(rule); |
142 |
} else if (myGenAuditContainer_ChildContainers.equals(feature) && object instanceof GenAuditContainer) { |
148 |
} else if (myGenAuditContainer_ChildContainers.equals(feature) && object instanceof GenAuditContainer) { |
Lines 145-159
Link Here
|
145 |
container.getPath().addAll(parent.getPath()); |
151 |
container.getPath().addAll(parent.getPath()); |
146 |
container.getPath().add(parent); |
152 |
container.getPath().add(parent); |
147 |
getOrCreateRoot(parent).getCategories().add(container); |
153 |
getOrCreateRoot(parent).getCategories().add(container); |
148 |
} else if (myGenAuditContainer_Audits.equals(feature) && object instanceof GenAuditContainer) { |
154 |
fireMigrationApplied(true); |
|
|
155 |
} else if (GMFGenPackage.eINSTANCE.getGenAuditContainer_Audits().equals(feature) && object instanceof GenAuditContainer) { |
149 |
GenAuditContainer container = (GenAuditContainer)object; |
156 |
GenAuditContainer container = (GenAuditContainer)object; |
150 |
GenAuditRule rule = (GenAuditRule)value; |
157 |
GenAuditRule rule = (GenAuditRule)value; |
151 |
rule.setCategory(container); |
158 |
rule.setCategory(container); |
152 |
getOrCreateRoot(container).getRules().add(rule); |
159 |
getOrCreateRoot(container).getRules().add(rule); |
153 |
} else if (GMFGenPackage.eINSTANCE.getGenPlugin_RequiredPlugins().equals(feature) && object instanceof GenExpressionInterpreter) { |
|
|
154 |
GenExpressionInterpreter expressionInterpreter = (GenExpressionInterpreter) object; |
155 |
String requiredPlugin = (String) value; |
156 |
saveRequiredPlugin(expressionInterpreter, requiredPlugin); |
157 |
} else { |
160 |
} else { |
158 |
// other cases are would be processed as defaults |
161 |
// other cases are would be processed as defaults |
159 |
return super.setValue(object, feature, value, position); |
162 |
return super.setValue(object, feature, value, position); |
Lines 200-205
Link Here
|
200 |
editor.setPlugin(plugin); |
203 |
editor.setPlugin(plugin); |
201 |
} |
204 |
} |
202 |
plugin.getRequiredPlugins().addAll(getSavedRequiredPlugins().get(expressionProvider)); |
205 |
plugin.getRequiredPlugins().addAll(getSavedRequiredPlugins().get(expressionProvider)); |
|
|
206 |
fireMigrationApplied(true); |
203 |
} |
207 |
} |
204 |
getSavedRequiredPlugins().clear(); |
208 |
getSavedRequiredPlugins().clear(); |
205 |
} |
209 |
} |
Lines 224-245
Link Here
|
224 |
GenAuditRoot result = auditContainer.getRoot(); |
228 |
GenAuditRoot result = auditContainer.getRoot(); |
225 |
if (result == null) { |
229 |
if (result == null) { |
226 |
result = GMFGenFactory.eINSTANCE.createGenAuditRoot(); |
230 |
result = GMFGenFactory.eINSTANCE.createGenAuditRoot(); |
|
|
231 |
if (auditContainer.eContainer() == null) { |
232 |
auditContainer.eResource().getContents().add(result); |
233 |
fireMigrationApplied(true); |
234 |
} |
227 |
result.getCategories().add(auditContainer); |
235 |
result.getCategories().add(auditContainer); |
228 |
} |
236 |
} |
229 |
return result; |
237 |
return result; |
230 |
} |
238 |
} |
231 |
|
|
|
232 |
protected Collection<String> getBackwardSupportedURIs() { |
233 |
if (myBackwardSupportedURIs == null) { |
234 |
myBackwardSupportedURIs = Arrays.asList(new String[] { |
235 |
"http://www.eclipse.org/gmf/2005/GenModel", //$NON-NLS-1$ |
236 |
"http://www.eclipse.org/gmf/2005/GenModel/2.0" //$NON-NLS-1$ |
237 |
}); |
238 |
} |
239 |
return myBackwardSupportedURIs; |
240 |
} |
241 |
|
242 |
protected String getMetamodelNsURI() { |
243 |
return GMFGenPackage.eNS_URI; |
244 |
} |
245 |
} |
239 |
} |