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

Bug 318615

Summary: exceptions in aspects handling
Product: [SOA] JWT Reporter: Christian Saad <christian.saad>
Component: WEAssignee: Project Inbox <jwt.we-inbox>
Status: NEW --- QA Contact:
Severity: normal    
Priority: P3 CC: marc.dutoo
Version: 1.1.0   
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard:

Description Christian Saad CLA 2010-07-01 10:40:03 EDT
During testing of an aspect-enabled JWT application environment, a few problems were detected in which Exceptions were thrown in certain circumstances:

1.
It seems there is a problem detecting missing profiles if a package is missing. The user is not notified and all aspects are removed automatically from the workflow_conf file. The only indication of the error is shown in the console

2010-07-01 15:46:42.837 org.eclipse.jwt.we.conf.model.resource.internal.ConfModelResourceManagerImpl handleResourceLoadingError
  SEVERE: Patchable (but won't try to patch) error loading conf model resource for ConfModel file platform:/resource/test/CaseStudy.workflow_conf while looking for expected ConfModel of model platform:/resource/test/CaseStudy.workflow (org.eclipse.emf.ecore.xmi.PackageNotFoundException: Package with uri 'de.uni-augsburg.methodology-support.mcd' not found. (platform:/resource/test/CaseStudy.workflow_conf, 39, 143))

org.eclipse.emf.ecore.resource.Resource$IOWrappedException: A resource already exists on disk 'D:\eclipse_ws\jwt\runtime-New_configuration(1)\test\test.workflow_conf'.
	at org.eclipse.emf.ecore.resource.impl.PlatformResourceURIHandlerImpl$PlatformResourceOutputStream.flush(PlatformResourceURIHandlerImpl.java:138)
	at org.eclipse.emf.ecore.resource.impl.PlatformResourceURIHandlerImpl$PlatformResourceOutputStream.close(PlatformResourceURIHandlerImpl.java:90)
	at org.eclipse.emf.ecore.resource.impl.PlatformResourceURIHandlerImpl$WorkbenchHelper$1.close(PlatformResourceURIHandlerImpl.java:172)
	at org.eclipse.emf.ecore.resource.impl.ResourceImpl.save(ResourceImpl.java:997)
	at org.eclipse.jwt.we.conf.model.resource.internal.ConfModelResourceManagerImpl.createConfModel(ConfModelResourceManagerImpl.java:348)
	at org.eclipse.jwt.we.conf.model.resource.internal.ConfModelResourceManagerImpl.loadConfModelOfModel(ConfModelResourceManagerImpl.java:218)
	at org.eclipse.jwt.we.conf.model.aspects.internal.AspectManagerImpl.getConfModel(AspectManagerImpl.java:131)
	at org.eclipse.jwt.we.conf.model.aspects.internal.AspectManagerImpl.getConfModel(AspectManagerImpl.java:112)
...  

2.

Sometimes the following error is thrown when opening a workflow. The same error is thrown during saving and the workflow_conf file is not saved. Deleting the workflow_conf file fixes this problem.

01.07.2010 16:32:47 org.eclipse.jwt.we.conf.model.resource.internal.ConfModelResourceManagerImpl createConfModel
WARNUNG: Error saving ConfModel platform:/resource/test/test.workflow_conf after patching it with the right enrichedModel while looking for expected ConfModel of model platform:/resource/test/test.workflow
org.eclipse.emf.ecore.resource.Resource$IOWrappedException: A resource already exists on disk 'D:\eclipse_ws\jwt\runtime-New_configuration(1)\test\test.workflow_conf'.
	at org.eclipse.emf.ecore.resource.impl.PlatformResourceURIHandlerImpl$PlatformResourceOutputStream.flush(PlatformResourceURIHandlerImpl.java:138)
	at org.eclipse.emf.ecore.resource.impl.PlatformResourceURIHandlerImpl$PlatformResourceOutputStream.close(PlatformResourceURIHandlerImpl.java:90)
	at org.eclipse.emf.ecore.resource.impl.PlatformResourceURIHandlerImpl$WorkbenchHelper$1.close(PlatformResourceURIHandlerImpl.java:172)
	at org.eclipse.emf.ecore.resource.impl.ResourceImpl.save(ResourceImpl.java:997)
	at org.eclipse.jwt.we.conf.model.resource.internal.ConfModelResourceManagerImpl.createConfModel(ConfModelResourceManagerImpl.java:348)
	at org.eclipse.jwt.we.conf.model.resource.internal.ConfModelResourceManagerImpl.loadConfModelOfModel(ConfModelResourceManagerImpl.java:218)
	at org.eclipse.jwt.we.conf.model.aspects.internal.AspectManagerImpl.getConfModel(AspectManagerImpl.java:131)
	
	
3.

Removing profiles in the management tab sometimes throws a NPE in the disableProfile method in the line

Profile currentProfile = (Profile) currentAspect.eContainer();

due to currentAspect being null. This can be prevented with

if (currentAspect == null) continue;

but I don't know if this has unwanted side effects.