Bug 123825 Compiler error in ViewSiteDecorator
I only caught this after committing a rather large set of changes. ViewSiteDecorator implements IViewSite, which is a violation of our API. IViewSite now extends (indirectly) IServiceLocator. This means ViewSiteDecorator needs to implement two new methods. public Object getService(Object key) { return fViewSite.getService(key); } public boolean hasService(Object key) { return false; } If the "Decorator" in ViewSiteDecorator refers to the decorator pattern, then you probably actually want: public boolean hasService(Object key) { return fViewSite.hasService(key); } I would rather not back out my change. Could someone please respond ASAP (if you happen to be working from home)? Thanks.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/util/ViewSiteDecorator.java
/*******************************************************************************
 * Copyright (c) 2000, 2005 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.jdt.internal.ui.util;
import org.eclipse.core.runtime.PlatformObject;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.jface.action.MenuManager;
import org.eclipse.jface.util.ListenerList;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.ISelectionProvider;
import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.ui.IActionBars;
import org.eclipse.ui.IKeyBindingService;
import org.eclipse.ui.IViewSite;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.IWorkbenchWindow;
public class ViewSiteDecorator extends PlatformObject implements IViewSite {