| /******************************************************************************* |
| * 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.update.internal.ui.model; |
| |
| import java.io.*; |
| import java.net.*; |
| |
| import org.eclipse.core.runtime.*; |
| import org.eclipse.update.core.*; |
| import org.eclipse.update.core.model.*; |
| import org.eclipse.update.internal.ui.*; |
| |
| public class MissingFeature implements IFeature { |
| |
| private URL url; |
| private ISite site; |
| private IFeatureReference reference; |
| private IFeature parent; |
| private IURLEntry desc; |
| private VersionedIdentifier id = new VersionedIdentifier(UpdateUIMessages.MissingFeature_id, "0.0.0"); //$NON-NLS-1$ |
| public MissingFeature(ISite site, URL url) { |
| this.site = site; |
| this.url = url; |
| desc = new IURLEntry() { |
| public URL getURL() { |
| return null; |
| } |
| public String getAnnotation() { |
| return UpdateUIMessages.MissingFeature_desc_unknown; |
| } |
| public Object getAdapter(Class key) { |
| return null; |
| } |
| public int getType() { |
| return IURLEntry.UPDATE_SITE; |
| } |
| }; |
| } |
| public MissingFeature(IFeatureReference ref) { |
| this(null, ref); |
| } |
| |
| public MissingFeature(IFeature parent, IFeatureReference ref) { |
| this(ref.getSite(), ref.getURL()); |
| this.reference = ref; |
| this.parent = parent; |
| |
| if (isOptional()) { |
| desc = new IURLEntry() { |
| public URL getURL() { |
| return null; |
| } |
| public String getAnnotation() { |
| return UpdateUIMessages.MissingFeature_desc_optional; |
| } |
| public Object getAdapter(Class key) { |
| return null; |
| } |
| public int getType() { |
| return IURLEntry.UPDATE_SITE; |
| } |
| }; |
| } |
| } |
| |
| public boolean isOptional() { |
| return reference != null |
| && reference instanceof IIncludedFeatureReference |
| && ((IIncludedFeatureReference) reference).isOptional(); |
| } |
| |
| public IFeature getParent() { |
| return parent; |
| } |
| |
| public URL getOriginatingSiteURL() { |
| VersionedIdentifier vid = getVersionedIdentifier(); |
| if (vid == null) |
| return null; |
| String key = vid.getIdentifier(); |
| return UpdateUI.getOriginatingURL(key); |
| } |
| |
| /* |
| * @see IFeature#getIdentifier() |
| */ |
| public VersionedIdentifier getVersionedIdentifier() { |
| if (reference != null) { |
| try { |
| return reference.getVersionedIdentifier(); |
| } catch (CoreException e) { |
| } |
| } |
| return id; |
| } |
| |
| /* |
| * @see IFeature#getSite() |
| */ |
| public ISite getSite() { |
| return site; |
| } |
| |
| /* |
| * @see IFeature#getLabel() |
| */ |
| public String getLabel() { |
| if (reference != null |
| && reference instanceof IIncludedFeatureReference) { |
| String name = ((IIncludedFeatureReference) reference).getName(); |
| if (name != null) |
| return name; |
| } |
| return url.toString(); |
| } |
| |
| /* |
| * @see IFeature#getURL() |
| */ |
| public URL getURL() { |
| return url; |
| } |
| |
| /* |
| * @see IFeature#getUpdateInfo() |
| */ |
| public IURLEntry getUpdateSiteEntry() { |
| return null; |
| } |
| |
| /* |
| * @see IFeature#getDiscoveryInfos() |
| */ |
| public IURLEntry[] getDiscoverySiteEntries() { |
| return null; |
| } |
| |
| /* |
| * @see IFeature#getProvider() |
| */ |
| public String getProvider() { |
| return UpdateUIMessages.MissingFeature_provider; |
| } |
| |
| /* |
| * @see IFeature#getDescription() |
| */ |
| public IURLEntry getDescription() { |
| return desc; |
| } |
| |
| /* |
| * @see IFeature#getCopyright() |
| */ |
| public IURLEntry getCopyright() { |
| return null; |
| } |
| |
| /* |
| * @see IFeature#getLicense() |
| */ |
| public IURLEntry getLicense() { |
| return null; |
| } |
| |
| /* |
| * @see IFeature#getOS() |
| */ |
| public String getOS() { |
| return null; |
| } |
| |
| /* |
| * @see IFeature#getWS() |
| */ |
| public String getWS() { |
| return null; |
| } |
| |
| /* |
| * @see IFeature#getNL() |
| */ |
| public String getNL() { |
| return null; |
| } |
| |
| /* |
| * @see IFeature#getArch() |
| */ |
| public String getOSArch() { |
| return null; |
| } |
| |
| /* |
| * @see IFeature#getImage() |
| */ |
| public URL getImage() { |
| return null; |
| } |
| |
| /* |
| * @see IFeature#getImports() |
| */ |
| public IImport[] getImports() { |
| return null; |
| } |
| |
| /* |
| * @see IFeature#getArchives() |
| */ |
| public String[] getArchives() { |
| return null; |
| } |
| |
| /* |
| * @see IFeature#getDataEntries() |
| */ |
| public INonPluginEntry[] getNonPluginEntries() { |
| return null; |
| } |
| |
| /* |
| * @see IFeature#addDataEntry(IDataEntry) |
| */ |
| public void addNonPluginEntry(INonPluginEntry dataEntry) { |
| } |
| |
| /* |
| * @see IFeature#getDownloadSize() |
| */ |
| public long getDownloadSize() { |
| return 0; |
| } |
| |
| /* |
| * @see IFeature#getInstallSize(ISite) |
| */ |
| public long getInstallSize() { |
| return 0; |
| } |
| |
| /* |
| * @see IFeature#isPrimary() |
| */ |
| public boolean isPrimary() { |
| return false; |
| } |
| |
| /* |
| * @see IFeature#getApplication() |
| */ |
| public String getApplication() { |
| return null; |
| } |
| |
| /* |
| * @see IPluginContainer#getPluginEntries() |
| */ |
| public IPluginEntry[] getPluginEntries() { |
| return new IPluginEntry[0]; |
| } |
| |
| /* |
| * @see IPluginContainer#getPluginEntryCount() |
| */ |
| public int getPluginEntryCount() { |
| return 0; |
| } |
| |
| /* |
| * @see IPluginContainer#getDownloadSize(IPluginEntry) |
| */ |
| public long getDownloadSize(IPluginEntry entry) { |
| return 0; |
| } |
| |
| /* |
| * @see IPluginContainer#getInstallSize(IPluginEntry) |
| */ |
| public long getInstallSize(IPluginEntry entry) { |
| return 0; |
| } |
| |
| /* |
| * @see IPluginContainer#addPluginEntry(IPluginEntry) |
| */ |
| public void addPluginEntry(IPluginEntry pluginEntry) { |
| } |
| |
| /* |
| * @see IPluginContainer#store(IPluginEntry, String, InputStream) |
| */ |
| public void store(IPluginEntry entry, String name, InputStream inStream) |
| throws CoreException { |
| } |
| |
| /* |
| * @see IAdaptable#getAdapter(Class) |
| */ |
| public Object getAdapter(Class adapter) { |
| return null; |
| } |
| |
| /* |
| * @see IPluginContainer#remove(IPluginEntry) |
| */ |
| public void remove(IPluginEntry entry) throws CoreException { |
| } |
| |
| /* |
| * @see IFeature#setFeatureContentProvider(IFeatureContentProvider) |
| */ |
| public void setFeatureContentProvider(IFeatureContentProvider featureContentProvider) { |
| } |
| |
| /* |
| * @see IFeature#getFeatureContentConsumer() |
| */ |
| public IFeatureContentConsumer getFeatureContentConsumer() |
| throws CoreException { |
| return null; |
| } |
| |
| /* |
| * @see IFeature#setSite(ISite) |
| */ |
| public void setSite(ISite site) throws CoreException { |
| this.site = site; |
| } |
| |
| /* |
| * @see IFeature#getFeatureContentProvider() |
| */ |
| public IFeatureContentProvider getFeatureContentProvider() |
| throws CoreException { |
| return null; |
| } |
| |
| /* |
| * @see IFeature#install(IFeature,IVerifier, IProgressMonitor) |
| */ |
| public IFeatureReference install( |
| IFeature targetFeature, |
| IVerificationListener verificationListener, |
| IProgressMonitor monitor) |
| throws CoreException { |
| return null; |
| } |
| |
| /* |
| * @see org.eclipse.update.core.IFeature#install(IFeature, IFeatureReference[], IVerificationListener, IProgressMonitor) |
| */ |
| public IFeatureReference install( |
| IFeature targetFeature, |
| IFeatureReference[] optionalFeatures, |
| IVerificationListener verificationListener, |
| IProgressMonitor monitor) |
| throws InstallAbortedException, CoreException { |
| return null; |
| } |
| /* |
| * @see IFeature#remove(IProgressMonitor) |
| */ |
| public void remove(IProgressMonitor monitor) throws CoreException { |
| } |
| |
| /* |
| * @see IPluginContainer#remove(IPluginEntry, IProgressMonitor) |
| */ |
| public void remove(IPluginEntry entry, IProgressMonitor monitor) |
| throws CoreException { |
| } |
| |
| /* |
| * @see IFeature#getNonPluginEntryCount() |
| */ |
| public int getNonPluginEntryCount() { |
| return 0; |
| } |
| |
| /* |
| * @see IFeature#getInstallHandlerEntry() |
| */ |
| public IInstallHandlerEntry getInstallHandlerEntry() { |
| return null; |
| } |
| /* |
| * @see IFeature#getIncludedFeatureReferences() |
| */ |
| public IIncludedFeatureReference[] getIncludedFeatureReferences() |
| throws CoreException { |
| return new IIncludedFeatureReference[0]; |
| } |
| |
| /** |
| * @see IFeature#getAffinityFeature() |
| */ |
| public String getAffinityFeature() { |
| return null; |
| } |
| /** |
| * @see org.eclipse.update.core.IFeature#getRawIncludedFeatureReferences() |
| */ |
| public IIncludedFeatureReference[] getRawIncludedFeatureReferences() |
| throws CoreException { |
| return getIncludedFeatureReferences(); |
| } |
| |
| /** |
| * @see org.eclipse.update.core.IFeature#getRawNonPluginEntries() |
| */ |
| public INonPluginEntry[] getRawNonPluginEntries() { |
| return getNonPluginEntries(); |
| } |
| |
| /** |
| * @see org.eclipse.update.core.IFeature#getRawPluginEntries() |
| */ |
| public IPluginEntry[] getRawPluginEntries() { |
| return getPluginEntries(); |
| } |
| |
| /** |
| * @see org.eclipse.update.core.IFeature#getPrimaryPluginID() |
| */ |
| public String getPrimaryPluginID() { |
| return null; |
| } |
| |
| /** |
| * @see org.eclipse.update.core.IFeature#getRawImports() |
| */ |
| public IImport[] getRawImports() { |
| return new IImport[0]; |
| } |
| |
| /** |
| * @see org.eclipse.update.core.IFeature#isPatch() |
| */ |
| public boolean isPatch() { |
| return false; |
| } |
| |
| public boolean isExclusive() { |
| return false; |
| } |
| |
| } |