Skip to content

Ejecutar código QVT desde Java

julio 3, 2012

Seguí el ejemplo que plantean acá

http://projects.ikv.de/qvt/wiki/integration

Fue necesario considerar esto:

http://projects.ikv.de/qvt/browser/mediniQVTEngine/trunk/mediniQVTInterpreter/examples/de.ikv.medini.qvt.example/src/de/ikv/medini/qvt/example/UsingMediniQVTfromApplicationsReflective.java

Para que compile, aunque no lo dice, es necesario agregar otro include, aunque ahora veo que no lo necesita, pero antes no me compilaba esta línea:

this.processorImpl.setModels(Collections.EMPTY_LIST);

Lo solucioné agregando este include:

org.oslo.ocl20.*;

También hay que considerar que si nuestro script QVT tiene más de dos modelos de parámetros, es necesario modificar el código de los ejemplos agregando los modelos de esta forma:

//QVT rule: udmp2utp(source :uml, udmp:uml, utp:uml, target:uml)
 firstSetOfModels.add(resourceSource);
 secondSetOfModels.add(resourceUDMP);
 thirdSetOfModels.add(resourceUTP);
 fourthSetOfModels.add(resourceTarget);

También puede ser útil ver cómo registrar el paquete UML en caso que sea usado:

this.resourceSet.getPackageRegistry().put(UMLPackage.eNS_URI, UMLPackage.eINSTANCE);
metaPackages.add(UMLPackage.eINSTANCE);

Con esto logro que funcione tal como ejecutarla a mano. Es bastante complicado resolver los problemas ya que no detallan claramente lo que pasa, la mayoría de las veces hay que recurrir a la bola de cristal.

Anuncios

From → Eclipse, Estándares, QVT, UML

2 comentarios
  1. Thanks for ones marvelous posting! I definitely enjoyed reading it, you may be a great author.
    I will ensure that I bookmark your blog and will
    come back down the road. I want to encourage you to definitely continue your great
    posts, have a nice morning!

Trackbacks & Pingbacks

  1. Ejecutar código QVT desde Java (II) « También vine a estudiar

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: