blob: 7606da81cb73f952c97a57914d8ee4ce75ea0c92 [file] [log] [blame]
/*******************************************************************************
* 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;
}
}