Bug 137063

Summary: GMFResource's abort on error load option is internal API
Product: [Modeling] GMF-Runtime Reporter: Chris McGee <cbmcgee>
Component: GeneralAssignee: Christian Damus <give.a.damus>
Status: RESOLVED FIXED QA Contact:
Severity: critical    
Priority: P1 CC: vramaswa
Version: 1.0Keywords: api, contributed
Target Milestone: 1.0   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Attachments:
Description Flags
Patch to publish some internal APIs none

Description Chris McGee CLA 2006-04-17 15:52:10 EDT
As it stands, a client cannot use the abort on error load options without violating the internal API because the load option itself called OPTION_ABORT_ON_ERROR is located inside the GMFResource class, which is internal API.

Also, clients should be able to access the internal AbortResourceLoadException class so that they could throw that exception as part of a ResourceHandler or an ExtendedMetaData in order to halt the resource loading process.
Comment 1 Christian Damus CLA 2006-04-21 14:20:44 EDT
In addition, it looks like the following classes also need to be public if a client is to be able to extend the GMF Runtime's resource implementation:

  - GMFResource (to extend it)
  - GMFLoad, GMFHandler, GMFHelper (to customize persistence)
  - PathmapManager (to provide system-defined URI mappings)
Comment 2 Christian Damus CLA 2006-04-24 11:30:48 EDT
Created attachment 39289 [details]
Patch to publish some internal APIs

Attached a patch that moves the following classes into the org.eclipse.gmf.runtime.emf.core.resources package:

  - package org.eclipse.gmf.runtime.emf.core.internal.exceptions:
     - class AbortResourceLoadException
  - package org.eclipse.gmf.runtime.emf.core.internal.resources:
     - class GMFResource
     - class GMFHelper
     - class GMFHandler
     - class GMFLoad

The internal classes remain as trivial subclasses of these public classes, deprecated.  They will be removed in the next build after this patch is committed, to provide a window for migration of any existing dependents.

Also, the org.eclipse.gmf.runtime.emf.core.internal.resources.PathmapManager class is refactored as an internal implementation of a new org.eclipse.gmf.runtime.emf.core.resources.IPathmapManager interface.
Comment 3 Christian Damus CLA 2006-04-24 11:31:30 EDT
Adding Vishy to cc: for his review/comments.
Comment 4 Vishy Ramaswamy CLA 2006-04-25 09:01:49 EDT
Reviewed and applied patch. The deprecated classes will be removed next week.
Comment 5 Richard Gronback CLA 2008-08-13 13:04:16 EDT
[target cleanup] 1.0 RC was the original target milestone for this bug
Comment 6 Eclipse Webmaster CLA 2010-07-19 12:24:14 EDT
[GMF Restructure] Bug 319140 : product GMF and component
Runtime EMF was the original product and component for this bug