/******************************************************************************* * Copyright (c) 2012 Spring IDE Developers * 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: * Spring IDE Developers - initial API and implementation *******************************************************************************/ package org.springframework.ide.eclipse.bestpractices.tests.ruletests; import java.io.IOException; import java.util.Set; import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.CoreException; import org.springframework.ide.eclipse.bestpractices.tests.AbstractBeansCoreTestCase; import org.springframework.ide.eclipse.core.internal.model.validation.ValidationRuleDefinition; import org.springframework.ide.eclipse.core.internal.model.validation.ValidationRuleDefinitionFactory; import org.springframework.ide.eclipse.core.internal.model.validation.ValidatorDefinition; import org.springframework.ide.eclipse.core.internal.model.validation.ValidatorDefinitionFactory; /** * @author Tomasz Zarna * @since 3.1.0 * */ public abstract class AbstractRuleTest extends AbstractBeansCoreTestCase { private ValidatorDefinition validatorDef; private ValidationRuleDefinition ruleDefinition; private IProject project; abstract String getRuleId(); @Override protected void setUp() throws Exception { super.setUp(); final String validatorId = "org.springframework.ide.eclipse.bestpractices.beansvalidator"; validatorDef = ValidatorDefinitionFactory.getValidatorDefinition(validatorId); assertNotNull(validatorDef); ruleDefinition = getRuleDefinition(validatorId, getRuleId()); assertNotNull(ruleDefinition); } private ValidationRuleDefinition getRuleDefinition(final String validatorId, final String ruleId) throws CoreException { String qualifiedRuleId = "org.springframework.ide.eclipse.bestpractices" + "." + ruleId + "-" + validatorId; Set<ValidationRuleDefinition> ruleDefinitions = ValidationRuleDefinitionFactory.getRuleDefinitions(validatorId); for (ValidationRuleDefinition ruleDefinition : ruleDefinitions) { if (qualifiedRuleId.equals(ruleDefinition.getId())) { return ruleDefinition; } } return null; } @Override protected IProject createPredefinedProject(String projectName) throws CoreException, IOException { project = super.createPredefinedProject(projectName); ruleDefinition.setEnabled(true, project); validatorDef.setEnabled(true, project); return project; } }