Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » Epsilon » Model copy(Model copy)
Model copy [message #1858507] Wed, 05 April 2023 12:39 Go to next message
Arseniy Isakov is currently offline Arseniy IsakovFriend
Messages: 118
Registered: May 2012
Senior Member
Hello

I have created new. Epsilon integration And now I need to copy information
from emf model to new meta model with custom integration. Should I use ETL. or Flock. I do not need to. have any. object transformation. Everything is 1:1


Thanks
Arseniy. Isakov
Re: Model copy [message #1858510 is a reply to message #1858507] Wed, 05 April 2023 13:49 Go to previous messageGo to next message
Dimitris Kolovos is currently offline Dimitris KolovosFriend
Messages: 2163
Registered: July 2009
Location: York, UK
Senior Member

If the new metamodel is a variant (e.g. evolved version) of the old one, Flock could be a better fit as it would save you all the property copying code that you'd need to manually specify in ETL. One limitation of Flock worth considering - in case it applies to your use case - is that it doesn't work with models that span across different XMI files.

Thanks,
Dimitris
Re: Model copy [message #1858583 is a reply to message #1858510] Mon, 10 April 2023 12:40 Go to previous messageGo to next message
Arseniy Isakov is currently offline Arseniy IsakovFriend
Messages: 118
Registered: May 2012
Senior Member
So if I need to copy model 1:1 my. migration rule file has to be empty? Code. below just. end silently.

Thanks
Arseniy. Isakov


		FlockModule  module = new FlockModule();

		String modelFile = TrgModelLoader.class.getResource("hr.domain").toURI().toString();
		EmfModel srcModel = createEmfModelByURI("srg", modelFile, DomainPackage.eINSTANCE.getNsURI(), true, false);
		module.getContext().getModelRepository().addModel(srcModel);
		
		TuraModel trgModel = createTuraModel();
		TypeResolver  typeResolver = new MeamodelTypeResolver();
  	        trgModel.setName("trg");
	       trgModel.setTypeResolver(typeResolver);
		module.getContext().getModelRepository().addModel(trgModel);
		
		module.parse("");
		module.execute();
		
		trgModel.store();




Re: Model copy [message #1858584 is a reply to message #1858583] Mon, 10 April 2023 13:16 Go to previous messageGo to next message
Arseniy Isakov is currently offline Arseniy IsakovFriend
Messages: 118
Registered: May 2012
Senior Member
Please ignore my. message. I found an issue
Thanks
Arseniy Isakov
Re: Model copy [message #1858586 is a reply to message #1858584] Mon, 10 April 2023 13:27 Go to previous message
Dimitris Kolovos is currently offline Dimitris KolovosFriend
Messages: 2163
Registered: July 2009
Location: York, UK
Senior Member

Great. For anyone else who may bump into this, calling setOriginalModel/setMigratedModel should do the trick

// Configure the original and migrated models of the migration transformation
module.getContext().setOriginalModel(source);
module.getContext().setMigratedModel(target);


Thanks,
Dimitris
Previous Topic:Programmtically load genmymodel XMI export file with Epsilon
Next Topic:Flock migration sequence
Goto Forum:
  


Current Time: Tue Apr 23 13:54:42 GMT 2024

Powered by FUDForum. Page generated in 0.04411 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top