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 225467 Details for
Bug 397900
ValidationServices for projects not being removed
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
Patch for deleting a projects validation service when the project is deleted.
disposeValidationService.patch (text/plain), 3.02 KB, created by
Tobias Verhoeven
on 2013-01-10 13:32:16 EST
(
hide
)
Description:
Patch for deleting a projects validation service when the project is deleted.
Filename:
MIME Type:
Creator:
Tobias Verhoeven
Created:
2013-01-10 13:32:16 EST
Size:
3.02 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.emf.ecp.validation.connector >diff --git src/org/eclipse/emf/ecp/validation/connector/Activator.java src/org/eclipse/emf/ecp/validation/connector/Activator.java >index d36d866..4ee5a86 100644 >--- src/org/eclipse/emf/ecp/validation/connector/Activator.java >+++ src/org/eclipse/emf/ecp/validation/connector/Activator.java >@@ -10,7 +10,9 @@ > ******************************************************************************/ > package org.eclipse.emf.ecp.validation.connector; > >+import java.util.Arrays; > import java.util.HashSet; >+import java.util.List; > import java.util.Set; > > import org.eclipse.emf.ecore.EObject; >@@ -96,15 +98,19 @@ > * @return the validation service > */ > public IValidationService getValidationService(ECPProject project) { >+ return getValidationServiceProvider().getValidationService(project); >+ } >+ >+ private IValidationServiceProvider getValidationServiceProvider() { > if (validationServiceProvider == null) { > // Register directly with the service > ServiceReference<IValidationServiceProvider> reference = context > .getServiceReference(IValidationServiceProvider.class); > validationServiceProvider = (IValidationServiceProvider) context.getService(reference); > } >- return validationServiceProvider.getValidationService(project); >+ return validationServiceProvider; > } >- >+ > /** > * Project change observer that validates changed objects. > */ >@@ -112,6 +118,12 @@ > > // BEGIN SUPRESS CATCH EXCEPTION > public void projectsChanged(ECPProject[] oldProjects, ECPProject[] newProjects) throws Exception { >+ List<ECPProject> newProjectList = Arrays.asList(newProjects); >+ for (ECPProject project : oldProjects) { >+ if (!newProjectList.contains(project)) { >+ getValidationServiceProvider().deleteValidationService(project); >+ } >+ } > } > > public void projectChanged(ECPProject project, boolean opened) throws Exception { >diff --git src/org/eclipse/emf/ecp/validation/connector/ValidationServiceProvider.java src/org/eclipse/emf/ecp/validation/connector/ValidationServiceProvider.java >index f4e2825..77a6637 100644 >--- src/org/eclipse/emf/ecp/validation/connector/ValidationServiceProvider.java >+++ src/org/eclipse/emf/ecp/validation/connector/ValidationServiceProvider.java >@@ -82,4 +82,11 @@ > } > return result; > } >+ >+ /** >+ * {@inheritDoc} >+ */ >+ public void deleteValidationService(Object key) { >+ mapping.remove(key); >+ } > } >#P org.eclipse.emf.ecp.validation >diff --git src/org/eclipse/emf/ecp/validation/api/IValidationServiceProvider.java src/org/eclipse/emf/ecp/validation/api/IValidationServiceProvider.java >index 6b7c501..3df00e3 100644 >--- src/org/eclipse/emf/ecp/validation/api/IValidationServiceProvider.java >+++ src/org/eclipse/emf/ecp/validation/api/IValidationServiceProvider.java >@@ -29,4 +29,11 @@ > */ > IValidationService getValidationService(Object key); > >+ /** >+ * Deletes the validation service for the given object. >+ * >+ * @param key the object for which to delete the validation service >+ */ >+ void deleteValidationService(Object key); >+ > }
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 Diff
View Attachment As Raw
Flags:
eneufeld
:
iplog+
Actions:
View
|
Diff
Attachments on
bug 397900
: 225467