Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 108417 Details for
Bug 231205
deadlock closing edited orm.xml file
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Revised patch
231205.txt (text/plain), 6.44 KB, created by
Chuck Bridgham
on 2008-07-25 01:52:20 EDT
(
hide
)
Description:
Revised patch
Filename:
MIME Type:
Creator:
Chuck Bridgham
Created:
2008-07-25 01:52:20 EDT
Size:
6.44 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.wst.xml.core >Index: src-emfModelSynch/org/eclipse/wst/xml/core/internal/emf2xml/EMF2DOMSSERenderer.java >=================================================================== >RCS file: /cvsroot/webtools/sourceediting/plugins/org.eclipse.wst.xml.core/src-emfModelSynch/org/eclipse/wst/xml/core/internal/emf2xml/EMF2DOMSSERenderer.java,v >retrieving revision 1.16.2.3 >diff -u -r1.16.2.3 EMF2DOMSSERenderer.java >--- src-emfModelSynch/org/eclipse/wst/xml/core/internal/emf2xml/EMF2DOMSSERenderer.java 24 Jul 2008 00:44:34 -0000 1.16.2.3 >+++ src-emfModelSynch/org/eclipse/wst/xml/core/internal/emf2xml/EMF2DOMSSERenderer.java 25 Jul 2008 05:51:21 -0000 >@@ -393,7 +393,12 @@ > } > > public boolean isShared() { >- if (getResourceSet() == null || xmlModel == null) >+ >+ if( xmlModel == null) { //resource could be in process of being unloaded - check with model manager >+ String id = getModelManagerId(); >+ return getModelManager().isShared(id); >+ } >+ if (getResourceSet() == null) > return false; > return xmlModel.isShared(); > } >#P org.eclipse.wst.common.emf >Index: wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityXMIResourceImpl.java >=================================================================== >RCS file: /cvsroot/webtools/common/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityXMIResourceImpl.java,v >retrieving revision 1.7 >diff -u -r1.7 CompatibilityXMIResourceImpl.java >--- wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityXMIResourceImpl.java 29 Apr 2008 03:59:12 -0000 1.7 >+++ wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityXMIResourceImpl.java 25 Jul 2008 05:51:22 -0000 >@@ -271,13 +271,47 @@ > } > } > } >+ public void loadExisting(Map options) throws IOException { >+ >+ >+ ResourceIsLoadingAdapter adapter = null; >+ if (isLoaded) { >+ adapter = ResourceIsLoadingAdapter.findAdapter(this); >+ if (adapter != null) >+ adapter.waitForResourceToLoad(); >+ return; >+ } >+ synchronized (this) { >+ adapter = ResourceIsLoadingAdapter.findAdapter(this); >+ if (adapter == null && !isLoaded) >+ addSynchronizationLoadingAdapter(); >+ } >+ if(adapter != null) >+ adapter.waitForResourceToLoad(); >+ else { >+ try { >+ load((InputStream) null, options); >+ } catch(IOException ioe) { >+ removeLoadingSynchronizationAdapter(); >+ throw ioe; >+ } catch(RuntimeException re) { >+ removeLoadingSynchronizationAdapter(); >+ throw re; >+ } catch(Error e) { >+ removeLoadingSynchronizationAdapter(); >+ throw e; >+ } >+ } >+ } > > /** > * > */ > protected void addSynchronizationLoadingAdapter() { >+ synchronized (eAdapters()) { > if (ResourceIsLoadingAdapter.findAdapter(this) == null) > eAdapters().add(ResourceIsLoadingAdapterFactory.INSTANCE.createResourceIsLoadingAdapter()); >+ } > } > > /** >Index: wtpemf/org/eclipse/wst/common/internal/emf/resource/ReferencedXMIResourceImpl.java >=================================================================== >RCS file: /cvsroot/webtools/common/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/ReferencedXMIResourceImpl.java,v >retrieving revision 1.12 >diff -u -r1.12 ReferencedXMIResourceImpl.java >--- wtpemf/org/eclipse/wst/common/internal/emf/resource/ReferencedXMIResourceImpl.java 29 Apr 2008 03:59:12 -0000 1.12 >+++ wtpemf/org/eclipse/wst/common/internal/emf/resource/ReferencedXMIResourceImpl.java 25 Jul 2008 05:51:22 -0000 >@@ -327,7 +327,7 @@ > setForceRefresh(false); > setModified(false); //dcb - this is required to ensure that resources without files are > // marked as not modified. >- if (readReferenceCount == 0 && editReferenceCount == 0) { >+ if (readReferenceCount == 0 && editReferenceCount == 0 && getResourceSet() != null) { > getResourceSet().getResources().remove(this); > } > >Index: wtpemf/org/eclipse/wst/common/internal/emf/resource/TranslatorResourceImpl.java >=================================================================== >RCS file: /cvsroot/webtools/common/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/TranslatorResourceImpl.java,v >retrieving revision 1.8 >diff -u -r1.8 TranslatorResourceImpl.java >--- wtpemf/org/eclipse/wst/common/internal/emf/resource/TranslatorResourceImpl.java 7 Jun 2007 19:29:35 -0000 1.8 >+++ wtpemf/org/eclipse/wst/common/internal/emf/resource/TranslatorResourceImpl.java 25 Jul 2008 05:51:22 -0000 >@@ -390,7 +390,8 @@ > super.load(options); > } > else if (!isLoaded) { >- load((InputStream) null, options); >+ isShared(); >+ loadExisting(options); > } > } > >Index: wtpemf/org/eclipse/wst/common/internal/emf/utilities/ResourceIsLoadingAdapter.java >=================================================================== >RCS file: /cvsroot/webtools/common/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ResourceIsLoadingAdapter.java,v >retrieving revision 1.2 >diff -u -r1.2 ResourceIsLoadingAdapter.java >--- wtpemf/org/eclipse/wst/common/internal/emf/utilities/ResourceIsLoadingAdapter.java 7 Jun 2007 19:29:37 -0000 1.2 >+++ wtpemf/org/eclipse/wst/common/internal/emf/utilities/ResourceIsLoadingAdapter.java 25 Jul 2008 05:51:23 -0000 >@@ -42,9 +42,10 @@ > * removeIsLoadingSupport() will coordinate with this > * synchronization. > */ >- synchronized (aResource) { >- adapter = (ResourceIsLoadingAdapter) EcoreUtil.getAdapter(aResource.eAdapters(), ResourceIsLoadingAdapter.class); >+ synchronized(aResource.eAdapters()) { >+ adapter = (ResourceIsLoadingAdapter) EcoreUtil.getAdapter(aResource.eAdapters(), ResourceIsLoadingAdapter.class); > } >+ > return adapter; > } > >@@ -88,7 +89,7 @@ > */ > if (getTarget() != null) { > //System.out.println("ResourceIsLoadingAdapter Synchronizing on " + getTarget()); >- synchronized (getTarget()) { >+ synchronized (getTarget().eAdapters()) { > getTarget().eAdapters().remove(this); > } > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 231205
:
99376
|
103741
|
103750
|
107852
|
108375
|
108381
|
108417
|
108440
|
109313
|
109372