Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/validation/JpaValidator.java')
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/validation/JpaValidator.java154
1 files changed, 0 insertions, 154 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/validation/JpaValidator.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/validation/JpaValidator.java
deleted file mode 100644
index 508c1d2615..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/validation/JpaValidator.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 Oracle. All rights reserved.
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0, which accompanies this distribution
- * and is available at http://www.eclipse.org/legal/epl-v10.html.
- *
- * Contributors:
- * Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.core.internal.validation;
-
-import java.util.Iterator;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jpt.core.JpaModel;
-import org.eclipse.jpt.core.JpaProject;
-import org.eclipse.jpt.core.JptCorePlugin;
-import org.eclipse.jpt.utility.model.event.CollectionChangeEvent;
-import org.eclipse.jpt.utility.model.listener.CollectionChangeListener;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.operations.IWorkbenchContext;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IProjectValidationContext;
-import org.eclipse.wst.validation.internal.provisional.core.IReporter;
-import org.eclipse.wst.validation.internal.provisional.core.IValidationContext;
-import org.eclipse.wst.validation.internal.provisional.core.IValidatorJob;
-
-/**
- * This class is referenced in the JPA extension for the
- * WTP validator extension point.
- */
-public class JpaValidator implements IValidatorJob {
-
-
- // ********** IValidator implementation **********
-
- public void validate(IValidationContext context, IReporter reporter) throws ValidationException {
- reporter.removeAllMessages(this);
-
- for (Iterator<IMessage> stream = this.validationMessages(context); stream.hasNext(); ) {
- reporter.addMessage(this, stream.next());
- }
- }
-
- private Iterator<IMessage> validationMessages(IValidationContext context) {
- IProject project = ((IProjectValidationContext) context).getProject();
- return JptCorePlugin.getJpaProject(project).validationMessages();
- }
-
- public void cleanup(IReporter reporter) {
- // nothing to do
- }
-
-
- // ********** IValidatorJob implementation **********
-
- public ISchedulingRule getSchedulingRule(IValidationContext context) {
- // don't know what to return here. my guess is that we want to return
- // the resource that is possibly being changed during our validation,
- // and since many resources in the project may be changed during this
- // validation, returning the project makes the most sense.
- return ((IWorkbenchContext) context).getProject();
- }
-
- public IStatus validateInJob(IValidationContext context, IReporter reporter) throws ValidationException {
- if (reporter.isCancelled()) {
- return Status.CANCEL_STATUS;
- }
- this.validate(context, reporter);
- return OK_STATUS;
- }
-
-
- // ********** marker clean-up **********
-
- private static final CollectionChangeListener JPA_MODEL_LISTENER = new LocalCollectionChangeListener();
-
- static {
- JptCorePlugin.getJpaModel().addCollectionChangeListener(JpaModel.JPA_PROJECTS_COLLECTION, JPA_MODEL_LISTENER);
- }
-
- /**
- * When a JPA project is removed this listener will schedule a job to
- * remove all the markers associated with the JPA project.
- */
- private static class LocalCollectionChangeListener implements CollectionChangeListener {
-
- LocalCollectionChangeListener() {
- super();
- }
-
- public void itemsAdded(CollectionChangeEvent event) {
- // ignore
- }
-
- /**
- * For now, we expect JPA projects to be removed one at a time.
- */
- public void itemsRemoved(CollectionChangeEvent event) {
- @SuppressWarnings("unchecked")
- Iterator<JpaProject> items = (Iterator<JpaProject>) event.items();
- Job j = new DeleteMarkersJob(items.next());
- j.schedule();
- if (items.hasNext()) {
- throw new UnsupportedOperationException("unexpected event");
- }
- }
-
- public void collectionCleared(CollectionChangeEvent event) {
- throw new UnsupportedOperationException("unexpected event");
- }
-
- public void collectionChanged(CollectionChangeEvent event) {
- throw new UnsupportedOperationException("unexpected event");
- }
-
- }
-
- /**
- * Delete all the markers associated with the specified JPA project.
- */
- private static class DeleteMarkersJob extends Job {
- private final JpaProject jpaProject;
-
- DeleteMarkersJob(JpaProject jpaProject) {
- super("Delete Markers");
- this.jpaProject = jpaProject;
- }
-
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- IProject project = this.jpaProject.getProject();
- if (project.isOpen()) {//no need to remove markers if project has been closed
- try {
- IMarker[] markers = project.findMarkers(JptCorePlugin.VALIDATION_MARKER_ID, true, IResource.DEPTH_INFINITE);
- ResourcesPlugin.getWorkspace().deleteMarkers(markers);
- } catch (CoreException ex) {
- JptCorePlugin.log(ex); // not much else we can do
- }
- }
- return Status.OK_STATUS;
- }
-
- }
-
-}

Back to the top