Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/DefaultFileModificationValidator.java')
-rw-r--r--bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/DefaultFileModificationValidator.java114
1 files changed, 0 insertions, 114 deletions
diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/DefaultFileModificationValidator.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/DefaultFileModificationValidator.java
deleted file mode 100644
index 7979cb149..000000000
--- a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/DefaultFileModificationValidator.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.core;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-
-public class DefaultFileModificationValidator implements IFileModificationValidator {
-
- /*
- * A validator plugged in the the Team UI that will prompt
- * the user to make read-only files writtable. In the absense of
- * this validator, edit/save fail on read-only files.
- */
- private IFileModificationValidator uiValidator;
-
- private IStatus getDefaultStatus(IFile file) {
- return
- file.isReadOnly()
- ? new Status(IStatus.ERROR, TeamPlugin.ID, IResourceStatus.READ_ONLY_LOCAL, Policy.bind("FileModificationValidator.fileIsReadOnly", file.getFullPath().toString()), null) //$NON-NLS-1$
- : Status.OK_STATUS;
- }
-
- /**
- * @see IFileModificationValidator#validateEdit(IFile[], Object)
- */
- public IStatus validateEdit(IFile[] files, Object context) {
- IFile[] readOnlyFiles = getReadOnly(files);
- if (readOnlyFiles.length == 0)
- return Status.OK_STATUS;
- synchronized (this) {
- if (uiValidator == null)
- uiValidator = loadUIValidator();
- }
- if (uiValidator != null) {
- return uiValidator.validateEdit(files, context);
- }
- // There was no plugged in validator so fail gracefully
- return getStatus(files);
- }
-
- protected IStatus getStatus(IFile[] files) {
- if (files.length == 1) {
- return getDefaultStatus(files[0]);
- }
-
- IStatus[] stati = new Status[files.length];
- boolean allOK = true;
-
- for (int i = 0; i < files.length; i++) {
- stati[i] = getDefaultStatus(files[i]);
- if(! stati[i].isOK())
- allOK = false;
- }
-
- return new MultiStatus(TeamPlugin.ID,
- 0, stati,
- Policy.bind(
- allOK
- ? "FileModificationValidator.ok" //$NON-NLS-1$
- : "FileModificationValidator.someReadOnly" ), //$NON-NLS-1$
- null);
- }
-
- private IFile[] getReadOnly(IFile[] files) {
- List result = new ArrayList(files.length);
- for (int i = 0; i < files.length; i++) {
- IFile file = files[i];
- if (file.isReadOnly()) {
- result.add(file);
- }
- }
- return (IFile[]) result.toArray(new IFile[result.size()]);
- }
-
- /**
- * @see IFileModificationValidator#validateSave(IFile)
- */
- public IStatus validateSave(IFile file) {
- return getDefaultStatus(file);
- }
-
- private IFileModificationValidator loadUIValidator() {
- IExtensionPoint extension = Platform.getExtensionRegistry().getExtensionPoint(TeamPlugin.ID, TeamPlugin.DEFAULT_FILE_MODIFICATION_VALIDATOR_EXTENSION);
- if (extension != null) {
- IExtension[] extensions = extension.getExtensions();
- if (extensions.length > 0) {
- IConfigurationElement[] configElements = extensions[0].getConfigurationElements();
- if (configElements.length > 0) {
- try {
- Object o = configElements[0].createExecutableExtension("class"); //$NON-NLS-1$
- if (o instanceof IFileModificationValidator) {
- return (IFileModificationValidator)o;
- }
- } catch (CoreException e) {
- TeamPlugin.log(e);
- }
- }
- }
- }
- return null;
- }
-}

Back to the top