/******************************************************************************* * Copyright (c) 2013 Red Hat, Inc. * Distributed under license by Red Hat, Inc. All rights reserved. * This program is 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: * Red Hat, Inc. - initial API and implementation ******************************************************************************/ package org.jboss.tools.common.validation.test; import java.util.Set; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.IStatus; import org.eclipse.wst.validation.internal.core.ValidationException; import org.eclipse.wst.validation.internal.provisional.core.IReporter; import org.jboss.tools.common.validation.ContextValidationHelper; import org.jboss.tools.common.validation.IProjectValidationContext; import org.jboss.tools.common.validation.IValidatingProjectTree; import org.jboss.tools.common.validation.ValidatorManager; import org.jboss.tools.common.validation.internal.SimpleValidatingProjectTree; /** * @author Alexey Kazakov */ public class TestContextValidator extends TestValidator { private static IValidatingProjectTree tree; private static Integer counter = 0; private static Boolean enabled = false; @Override public IStatus validate(Set<IFile> changedFiles, IProject project, ContextValidationHelper validationHelper, IProjectValidationContext validationContext, ValidatorManager manager, IReporter reporter) throws ValidationException { init(project, validationHelper, validationContext, manager, reporter); synchronized (counter) { counter++; } return OK_STATUS; } public static int getCounter() { synchronized(counter) { return counter.intValue(); } } @Override public IStatus validateAll(IProject project, ContextValidationHelper validationHelper, IProjectValidationContext validationContext, ValidatorManager manager, IReporter reporter) throws ValidationException { return OK_STATUS; } @Override public String getId() { return "org.jboss.common.validation.test.TestContextValidator"; } @Override public synchronized IValidatingProjectTree getValidatingProjects(IProject project) { if(tree == null) { tree = new SimpleValidatingProjectTree(project); } return tree; } @Override public boolean shouldValidate(IProject project) { synchronized(enabled) { return enabled && "JavaProject".equals(project.getName()); } } public static void enable(boolean enableValidation) { enabled = enableValidation; } @Override public boolean isEnabled(IProject project) { return shouldValidate(project); } }