diff options
author | Konstantin Komissarchik | 2013-02-09 03:26:27 +0000 |
---|---|---|
committer | Konstantin Komissarchik | 2013-02-09 03:26:27 +0000 |
commit | 638c52c3b12600f6a3b0ef2e3995c623e8f452f2 (patch) | |
tree | 72fefa17758effaeb0b810940c5189ca860f47bb /plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet | |
parent | df929bcddb34719d5012d086ee51a623be97be20 (diff) | |
download | webtools.javaee-638c52c3b12600f6a3b0ef2e3995c623e8f452f2.tar.gz webtools.javaee-638c52c3b12600f6a3b0ef2e3995c623e8f452f2.tar.xz webtools.javaee-638c52c3b12600f6a3b0ef2e3995c623e8f452f2.zip |
Fix : Java EE Tools should not depend on CVS
Dropping CompressedJavaProjectCVSDecorator feature in order to remove
the dependency on CVS Tools.
https://bugs.eclipse.org/bugs/show_bug.cgi?id=391361
Diffstat (limited to 'plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet')
-rw-r--r-- | plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/navigator/CompressedJavaProjectCVSDecorator.java | 175 |
1 files changed, 0 insertions, 175 deletions
diff --git a/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/navigator/CompressedJavaProjectCVSDecorator.java b/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/navigator/CompressedJavaProjectCVSDecorator.java deleted file mode 100644 index 03c673a72..000000000 --- a/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/navigator/CompressedJavaProjectCVSDecorator.java +++ /dev/null @@ -1,175 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011 IBM Corporation and others. - * 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.servlet.ui.internal.navigator; - -import java.util.HashSet; -import java.util.Set; - -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.mapping.ResourceMapping; -import org.eclipse.core.resources.mapping.ResourceMappingContext; -import org.eclipse.core.resources.mapping.ResourceTraversal; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.core.runtime.Platform; -import org.eclipse.jface.preference.IPreferenceStore; -import org.eclipse.jface.viewers.IDecoration; -import org.eclipse.jface.viewers.IDecorationContext; -import org.eclipse.jst.servlet.ui.internal.plugin.ServletUIPlugin; -import org.eclipse.team.core.diff.IDiff; -import org.eclipse.team.core.diff.IThreeWayDiff; -import org.eclipse.team.internal.ccvs.core.CVSProviderPlugin; -import org.eclipse.team.internal.ccvs.core.CVSWorkspaceSubscriber; -import org.eclipse.team.internal.ccvs.ui.CVSDecoration; -import org.eclipse.team.internal.ccvs.ui.CVSLightweightDecorator; -import org.eclipse.team.internal.ccvs.ui.CVSUIPlugin; -import org.eclipse.team.internal.ccvs.ui.ICVSUIConstants; -import org.eclipse.team.internal.ui.Utils; -import org.eclipse.team.ui.mapping.SynchronizationStateTester; -import org.osgi.framework.Bundle; - -/** - * CVS Decorator for the "Java Resources" virtual node. - * @author israelgd@mx1.ibm.com - */ -@SuppressWarnings("restriction") -public class CompressedJavaProjectCVSDecorator extends CVSLightweightDecorator { - - private static final SynchronizationStateTester DEFAULT_TESTER = new SynchronizationStateTester(); - - - @Override - /** - * This method only decorates the "Java Resources" virtual node. - * It should be only called by the decorator thread, once it detects a CompressedJavaProject needs to e decorated. - * @param element - * @param decoration - */ - public void decorate(Object element, IDecoration decoration) { - if (element instanceof org.eclipse.jst.servlet.ui.internal.navigator.CompressedJavaProject){ - // Get the sync state tester from the context - SynchronizationStateTester tester = getTester(decoration); - try { - if (tester.isDecorationEnabled(element)) { - // Calculate the decoration for the father of the node - CVSDecoration cvsDecoration = getDecoration(getElementFatherProject(element), tester); - // apply the decoration on this node - cvsDecoration.apply(decoration); - } - } catch(CoreException e) { - ServletUIPlugin.log(e); - } catch (IllegalStateException e) { - ServletUIPlugin.log(e); - // This is thrown by Core if the workspace is in an illegal state - // If we are not active, ignore it. Otherwise, propagate it. - // (see bug 78303) - if (Platform.getBundle(CVSUIPlugin.ID).getState() == Bundle.ACTIVE) { - if (Platform.getBundle(ServletUIPlugin.PLUGIN_ID).getState() == Bundle.ACTIVE) { - throw e; - } - } - } - } - } - - protected IProject getElementFatherProject(Object element) { - CompressedJavaProject cjp = (CompressedJavaProject) element; - IProject fatherIproject = cjp.getProject(); - return fatherIproject; - } - - protected SynchronizationStateTester getTester(IDecoration decoration) { - IDecorationContext context = decoration.getDecorationContext(); - SynchronizationStateTester tester = DEFAULT_TESTER; - Object property = context.getProperty(SynchronizationStateTester.PROP_TESTER); - if (property instanceof SynchronizationStateTester) { - tester = (SynchronizationStateTester) property; - } - return tester; - } - - /** - * This method creates a new CVSDecoration that only decorates the synchronization state. - * @param element - * @param tester - * @return CVSDecoration - * @throws CoreException - */ - public static CVSDecoration getDecoration(Object element, SynchronizationStateTester tester) throws CoreException { - CVSDecoration decoration = new CVSDecoration(); - // this only decorate the synchronization state - int state = IDiff.NO_CHANGE; - if (isSupervised(element)) { - // as taken from CVSDecoration decorate() - decoration.setHasRemote(true); - state = getElementCVSState(element, tester); - decoration.setStateFlags(state); - } else { - decoration.setIgnored(true); - } - //we cut here, we will not set that this element is decorated, because this decoration is only for a virtual node. - return decoration; - } - - private static int getElementCVSState(Object element, - SynchronizationStateTester tester) - throws CoreException { - IPreferenceStore store = CVSUIPlugin.getPlugin().getPreferenceStore(); - int state; - state = tester.getState(element, - store.getBoolean(ICVSUIConstants.PREF_CALCULATE_DIRTY) - ? IDiff.ADD | IDiff.REMOVE | IDiff.CHANGE | IThreeWayDiff.OUTGOING - : 0, - new NullProgressMonitor()); - return state; - } - - /* - * private method on CVSLightweightDecorator - */ - protected static IResource[] getTraversalRoots(Object element) throws CoreException { - Set<IResource> result = new HashSet<IResource>(); - ResourceMapping mapping = Utils.getResourceMapping(element); - if (mapping != null) { - ResourceTraversal[] traversals = mapping.getTraversals(ResourceMappingContext.LOCAL_CONTEXT, null); - for (int i = 0; i < traversals.length; i++) { - ResourceTraversal traversal = traversals[i]; - IResource[] resources = traversal.getResources(); - for (int j = 0; j < resources.length; j++) { - IResource resource = resources[j]; - result.add(resource); - } - } - } - return result.toArray(new IResource[result.size()]); - } - - /* - * private method on CVSLightweightDecorator - */ - protected static boolean isSupervised(Object element) throws CoreException { - IResource[] resources = getTraversalRoots(element); - for (int i = 0; i < resources.length; i++) { - IResource resource = resources[i]; - if (getSubscriber().isSupervised(resource)) - return true; - } - return false; - } - - /* - * private method on CVSLightweightDecorator - */ - protected static CVSWorkspaceSubscriber getSubscriber() { - return CVSProviderPlugin.getPlugin().getCVSWorkspaceSubscriber(); - } -} |