Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'tests/org.eclipse.jst.validation.test/testFwk/org/eclipse/jst/validation/test/fwk/TestOpConstrInputOperation.java')
-rw-r--r--tests/org.eclipse.jst.validation.test/testFwk/org/eclipse/jst/validation/test/fwk/TestOpConstrInputOperation.java260
1 files changed, 0 insertions, 260 deletions
diff --git a/tests/org.eclipse.jst.validation.test/testFwk/org/eclipse/jst/validation/test/fwk/TestOpConstrInputOperation.java b/tests/org.eclipse.jst.validation.test/testFwk/org/eclipse/jst/validation/test/fwk/TestOpConstrInputOperation.java
deleted file mode 100644
index 2c767b95..00000000
--- a/tests/org.eclipse.jst.validation.test/testFwk/org/eclipse/jst/validation/test/fwk/TestOpConstrInputOperation.java
+++ /dev/null
@@ -1,260 +0,0 @@
-package org.eclipse.jst.validation.test.fwk;
-
-import java.util.HashSet;
-import java.util.Set;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.ICommand;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceDeltaVisitor;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jem.java.JavaHelpers;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jst.validation.test.BVTValidationPlugin;
-import org.eclipse.jst.validation.test.fwk.validator.JDTUtility;
-import org.eclipse.jst.validation.test.internal.registry.ValidatorTestcase;
-import org.eclipse.jst.validation.test.setup.IBuffer;
-
-/**
- * This class constructs the input for the TestOpConstrOperation. Because
- * TestOpConstrOperation is not invoked as part of a build, when its IResources
- * are touched, a build is invoked after each touch, and that means that the
- * IResourceDelta that's constructed has only one IResource in it instead
- * of the group of changed IResource instances.
- */
-public class TestOpConstrInputOperation implements IWorkspaceRunnable {
- public static final String FWK_NOBUILD_TEST_VALIDATOR_CLASS = "org.eclipse.jst.validation.test.fwk.validator.FwkNoBuildTestValidator"; //$NON-NLS-1$
- public static final String FWK_TEST_VALIDATOR_CLASS = "org.eclipse.jst.validation.test.fwk.validator.FwkTestValidator"; //$NON-NLS-1$
- public static final String PROPERTIES_VALIDATOR_CLASS = "org.eclipse.wst.validation.sample.PropertiesValidator"; //$NON-NLS-1$
-
- private IProject _project = null;
- private IBuffer _buffer = null;
- private static ICommand _builderCommand = null;
-
- private IResourceDelta _changedDelta = null;
- private IResourceDelta _emptyDelta = null;
- private JavaHelpers[] _changedClasses = null;
-
- /**
- * IProject must exist and be open.
- */
- public TestOpConstrInputOperation(IBuffer buffer, IProject project) {
- setProject(project);
- setBuffer(buffer);
- }
-
- public IBuffer getBuffer() {
- return _buffer;
- }
-
- public void setBuffer(IBuffer b) {
- _buffer = b;
- }
-
- public IProject getProject() {
- return _project;
- }
-
- public void setProject(IProject p) {
- _project = p;
- }
-
- /*package*/ static void debug(final IBuffer buffer, String title, IResourceDelta delta) {
- try {
- buffer.write(title);
- delta.accept(new IResourceDeltaVisitor() {
- public boolean visit(IResourceDelta subdelta) throws CoreException {
- if (subdelta == null)
- return true;
-
- IResource resource = subdelta.getResource();
- buffer.write("resource is: " + resource.getFullPath()); //$NON-NLS-1$
- return true; // visit the subdelta's children
- }
- });
- }
- catch(CoreException exc) {
- Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
- if(logger.isLoggingLevel(Level.SEVERE)) {
- logger.write(Level.SEVERE, exc);
- }
- }
- }
-
- /**
- * Return an IResource that is not validated by the Fwk Test Validator (this
- * resource is used for the case where a resource is changed, and a build
- * is invoked, but the Fwk Test validator does not validate that resource and
- * should not be launched.)
- */
- public static IResource[] getEmptyResources(IProject project) {
- IResource[] changedResources = new IResource[]{
- project.getFile(".classpath"), //$NON-NLS-1$
- };
- return changedResources;
- }
-
- public static void touch(IProject project, IResource[] changedResources) {
- for(int i=0; i<changedResources.length; i++) {
- IResource res = changedResources[i];
- try {
- res.touch(null); // null IProgressMonitor
- }
- catch(CoreException exc) {
- // Oh well...dirty the next file.
- Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
- if(logger.isLoggingLevel(Level.SEVERE)) {
- logger.write(Level.SEVERE, exc);
- }
- }
- }
- }
-
- private static IResourceDelta getDelta(IProject project, IResource[] changedResources) {
- try {
- touch(project, changedResources);
- project.build(IncrementalProjectBuilder.INCREMENTAL_BUILD, TestOpConstrBuilder.BUILDER_ID, _builderCommand.getArguments(), null); // null IProgressMonitor
- return TestOpConstrBuilder.singleton().getDelta();
- }
- catch(CoreException exc) {
- Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
- if(logger.isLoggingLevel(Level.SEVERE)) {
- logger.write(Level.SEVERE, exc);
- }
- return null;
- }
- }
-
- private static void addBuilder(IProject project, boolean doAdd) {
- if(doAdd) {
- // Add the builder to the project
- try {
- IProjectDescription description = project.getDescription();
- ICommand[] oldCommands = description.getBuildSpec();
- ICommand[] newCommands = new ICommand[oldCommands.length + 1];
- System.arraycopy(oldCommands, 0, newCommands, 0, oldCommands.length);
- _builderCommand = description.newCommand();
- _builderCommand.setBuilderName(TestOpConstrBuilder.BUILDER_ID);
- newCommands[oldCommands.length] = _builderCommand;
- description.setBuildSpec(newCommands);
-
- project.setDescription(description, null);
- }
- catch(CoreException exc) {
- Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
- if(logger.isLoggingLevel(Level.SEVERE)) {
- logger.write(Level.SEVERE, exc);
- }
- }
- }
- else {
- // Remove the builder
- try {
- IProjectDescription description = project.getDescription();
- ICommand[] oldCommands = description.getBuildSpec();
- ICommand[] newCommands = new ICommand[oldCommands.length - 1];
- System.arraycopy(oldCommands, 0, newCommands, 0, newCommands.length);
- description.setBuildSpec(newCommands);
- project.setDescription(description, null);
- }
- catch(CoreException exc) {
- Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
- if(logger.isLoggingLevel(Level.SEVERE)) {
- logger.write(Level.SEVERE, exc);
- }
- }
- }
- }
-
- public void run(IProgressMonitor monitor) {
- try {
- addBuilder(getProject(), true);
-
- // First, build the project so that the subsequent builds aren't started with a null delta.
- getProject().build(IncrementalProjectBuilder.INCREMENTAL_BUILD, TestOpConstrBuilder.BUILDER_ID, _builderCommand.getArguments(), null); // null IProgressMonitor
-
- ValidatorTestcase[] tmds = JDTUtility.getVFTests(monitor, getProject());
- if((tmds == null) || (tmds.length == 0)) {
- return;
- }
-
- // Then calculate the deltas
- IResource[] changedResources = getChangedResources(getProject(), tmds);
- _emptyDelta = getDelta(getProject(), getEmptyResources(getProject()));
- _changedDelta = getDelta(getProject(), changedResources);
-
- // Then restore the project's build commands back to what they were.
- addBuilder(getProject(), false);
-
- _changedClasses = getChangedClasses(changedResources);
- }
- catch(Throwable exc) {
- Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
- if(logger.isLoggingLevel(Level.SEVERE)) {
- logger.write(Level.SEVERE, exc);
- }
- }
- finally {
- }
- }
-
- public IResourceDelta getChangedDelta() {
- return _changedDelta;
- }
-
- public IResourceDelta getEmptyDelta() {
- return _emptyDelta;
- }
-
- public static IResource[] getChangedResources(IProject project, ValidatorTestcase[] tmds) {
- Set temp = new HashSet();
- for(int i=0; i<tmds.length; i++) {
- ValidatorTestcase tmd = tmds[i];
- IResource[] res = tmd.getResources(project);
- for(int j=0; j<res.length; j++) {
- temp.add(res[j]);
- }
- }
- IResource[] result = new IResource[temp.size()];
- temp.toArray(result);
- return result;
- }
-
- public JavaHelpers[] getChangedClasses(IResource[] resources) {
- if(_changedClasses == null) {
- if(resources == null) {
- return new JavaHelpers[0];
- }
-
- JavaHelpers[] result = new JavaHelpers[resources.length];
- int count = 0;
- for(int i=0; i<resources.length; i++) {
- IResource resource = resources[i];
- if((resource instanceof IFile) && (resource.getFileExtension().equals("java") || resource.getFileExtension().equals("class"))) { //$NON-NLS-1$ //$NON-NLS-2$
- JavaHelpers h = JDTUtility.getJavaHelpers((IFile)resource);
- if(h != null) {
- result[count++] = h;
- }
- }
- }
-
- if(count != resources.length) {
- JavaHelpers[] temp = new JavaHelpers[count];
- System.arraycopy(result, 0, temp, 0, count);
- return temp;
- }
- else {
- return result;
- }
- }
- return _changedClasses;
- }
-}
-

Back to the top