Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » M2M (model-to-model transformation) » [QVTo] factoryEntries in class EclipseRegistry/ interface UnitResolverFactory are empty(Could not find unit ; getExtensionPoint("org.eclipse.m2m.qvt.oml.unitResolverFactory").getExtension() = null)
[QVTo] factoryEntries in class EclipseRegistry/ interface UnitResolverFactory are empty [message #723175] Wed, 07 September 2011 22:42 Go to next message
Tom2000  is currently offline Tom2000
Messages: 6
Registered: May 2011
Junior Member
Hello all together,

i wrote an qvto transformation from BPMN to a self defined rolemodel. My first goal was to create a stand-alone transformation including a blackbox. Quickly I realized that a platform is needed to register a provider of an extension or an extensionPoint org.eclipse.m2m.qvt.oml.javaBlackboxUnits, m2m.internal.qvt.oml.blackbox.BlackboxRegistry in Platform.getExtensionRegistry().

To use a Blackbox in my transformation i created a separate eclipse application without an UI. Starting my Plugin de.test.transformation_1.0.0 via OSGi console the Transformation.class (InvokeInJava) is instantiated by Activator.class, Case (2).

Before any transformation in QVTo begins the internal TransformationExecutor load Transformation by doLoad() where the URI pointing to qvto script is checked. This leads to following Diagnostic Message: Could not find unit 'localhost/WebContent/WEB-INF/models/bpmn2roleModel.qvto'

During execution the following code is done in Interface org.eclipse.m2m.internal.qvt.oml.compiler.unitResolverFactory:
Registry INSTANCE = EMFPlugin.IS_ECLIPSE_RUNNING ? new EclipseRegistry() : new BasicRegistry();
and result in two cases:

(1) first case, the transformation is triggered by a stand-alone main class and leads to the following issues
Eclipse platform running: false, EMF.Plugin is running: false
URL is resolved

(2) The execution in own Eclipse without UI
Eclipse platform running: true, EMF.Plugin is running: true
URL is not resolved

Because no extension is found the list attribute factoryEntries in class EclipseRegistry is empty if EclipsePlatform runs.
if(EMFPlugin.IS_ECLIPSE_RUNNING) {
     IExtensionRegistry pluginRegistry = Platform.getExtensionRegistry();
     IExtensionPoint extensionPoint = pluginRegistry.getExtensionPoint(org.eclipse.m2m.qvt.oml.unitResolverFactory);
	   if(extensionPoint != null) {
		IExtension[] allExtensions = extensionPoint.getExtensions(); //null
		for (IExtension nextExtension : allExtensions) {


Is it really mandatory to register it's own UnitResolverFactory or could i use some oher plugins, because during the standalone Transformation via main()-method the same URL is resolved by a default http-URI resolver.

Thanks in advance for any comments
Tom
id State Bundle
0 STARTING org.eclipse.osgi_3.7.0.v20110613
Fragments=30
1 ACTIVE org.eclipse.equinox.common_3.6.0.v20110523
2 ACTIVE org.eclipse.update.configurator_3.3.100.v20100512
3 ACTIVE org.eclipse.equinox.http.servletbridge_1.0.0.200704022148
4 ACTIVE org.eclipse.equinox.http.registry_1.1.100.v20110502
5 <<LAZY>> com.ibm.icu_4.4.2.v20110208
6 <<LAZY>> de.dipl.tg.blackboxTransLibrary_1.0.0
7 <<LAZY>> de.dipl.tg.domainMetamodel_1.0.0
8 ACTIVE de.dipl.tg.roleMetamodel_1.0.0
9 <<LAZY>> de.dipl.tg.taskMetamodel_1.0.0
10 STARTING de.test.transformation_1.0.0
11 RESOLVED lpg.runtime.java_2.0.17.v201004271640
12 ACTIVE org.eclipse.bpmn2_0.7.0.201106171747
13 ACTIVE org.eclipse.core.contenttype_3.4.100.v20110423-0524
14 <<LAZY>> org.eclipse.core.expressions_3.4.300.v20110228
15 ACTIVE org.eclipse.core.filesystem_1.3.100.v20110423-0524
16 ACTIVE org.eclipse.core.jobs_3.5.100.v20110404
17 ACTIVE org.eclipse.core.resources_3.7.100.v20110510-0712
18 ACTIVE org.eclipse.core.runtime_3.7.0.v20110110
19 ACTIVE org.eclipse.emf.common_2.7.0.v20110605-0747
20 <<LAZY>> org.eclipse.emf.ecore.change_2.7.0.v20110408-2116
21 ACTIVE org.eclipse.emf.ecore.xmi_2.7.0.v20110520-1406
22 ACTIVE org.eclipse.emf.ecore_2.7.0.v20110605-0747
23 ACTIVE org.eclipse.equinox.app_1.3.100.v20110321
27 ACTIVE org.eclipse.equinox.http.servlet_1.1.200.v20110502
28 ACTIVE org.eclipse.equinox.preferences_3.4.0.v20110502
29 ACTIVE org.eclipse.equinox.registry_3.5.100.v20110502
30 RESOLVED org.eclipse.equinox.servletbridge.extensionbundle_1.0.0
Master=0
31 <<LAZY>> org.eclipse.m2m.qvt.oml.common_3.1.0.v20110518-1530
32 <<LAZY>> org.eclipse.m2m.qvt.oml.cst.parser_3.1.0.v20101214-1530
33 <<LAZY>> org.eclipse.m2m.qvt.oml.ecore.imperativeocl_3.1.0.v20101214-1530
34 <<LAZY>> org.eclipse.m2m.qvt.oml.emf.util_3.1.0.v20110627-1530
35 ACTIVE org.eclipse.m2m.qvt.oml_3.1.0.v20110518-1530
36 <<LAZY>> org.eclipse.ocl.ecore_3.1.0.v20110510-2118
37 <<LAZY>> org.eclipse.ocl_3.1.0.v20110606-1427
38 RESOLVED org.eclipse.osgi.services_3.3.0.v20110513
41 <<LAZY>> org.eclipse.xsd_2.7.0.v20110606-0949

[Updated on: Sat, 10 September 2011 14:15]

Report message to a moderator

Re: [QVTo] factoryEntries in class EclipseRegistry/ interface UnitResolverFactory are empty [message #724048 is a reply to message #723175] Sat, 10 September 2011 13:53 Go to previous message
Tom2000  is currently offline Tom2000
Messages: 6
Registered: May 2011
Junior Member
Hi,

i looked into the source code and schema of org.eclipse.m2m.internal.qvt.oml.compiler.unitResolverFactory, which contains this description.

This in an internal extension point that allows to plug-in specific compilation unit resolvers

So i think no client should create an extension of this extensionPoint. But now I wonder how is that resolved in an Eclipse QVTo Project especially unsing the Run-Configuration.

Best regards
Tom

[Updated on: Sat, 10 September 2011 14:14]

Report message to a moderator

Previous Topic:[QVTo] How to extend a model
Next Topic:Arguments with called rules
Goto Forum:
  


Current Time: Sun Oct 26 03:50:37 GMT 2014

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

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