*** empty log message ***
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/IFeature.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/IFeature.java
index e01673b..bbbfbd2 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/IFeature.java
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/core/IFeature.java
@@ -100,7 +100,8 @@
* if there are no discovey info.
* @since 2.0
*/
-
+ //VK: method name: getDiscoveryInfo (singular == plural)
+
IInfo [] getDiscoveryInfos() ;
/**
@@ -269,6 +270,15 @@
* @return
* @since 2.0
*/
+ // VK: I am confused ... pluginEntry, dataEntry, archive
+ // VK: getPluginEntries()
+ // VK: getPluginEntryCount()
+ // VK: addPluginEntry(...)
+ // VK: remove(IPluginEntry)
+ // VK: getDataEntries()
+ // VK: addDataEntry(...)
+ // VK: no count, no remove
+ // VK: getArchives() .... no rest
// FIXME: javadoc
IDataEntry[] getDataEntries();
@@ -278,6 +288,7 @@
* @param entry the data entry
* @since 2.0
*/
+ //VK: what is this used for. Why do we not have addArchive as well?
void addDataEntry(IDataEntry dataEntry);
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/ConfigurationPolicy.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/ConfigurationPolicy.java
index a14da8d..d81b174 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/ConfigurationPolicy.java
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/ConfigurationPolicy.java
@@ -215,7 +215,9 @@
IPluginEntry entry = entries[index];
String id = entry.getIdentifier().toString();
// obtain the path of the plugin directory on teh site
- String archiveID = ((Feature)feature).getArchiveID(entry);
+ String archiveID = ((Feature)feature).getArchiveID(entry);
+ // VK: any time you need to cast like this it means that any other implementation of
+ // IFeature will not work !!!!
URL url = ((Site) site).getURL(archiveID);
if (url!=null){
// make it relative to teh site
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/Feature.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/Feature.java
index 00758a4..af1ce85 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/Feature.java
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/Feature.java
@@ -16,6 +16,12 @@
* Abstract Class that implements most of the behavior of a feature
* A feature ALWAYS belongs to an ISite
*/
+// VK: we need to rework this as an API base class. Also need to rework which methods
+// VK: need to be exposed on IFeature (same comment for Site, ISite)
+// VK: Also, need to be able to poof-up a feature model from XML without having a site,
+// VK: or passing null site (needed in PDE, build code, etc). Need a constructor
+// VK: that takes a stream
+
public abstract class Feature implements IFeature {
/**
@@ -232,6 +238,7 @@
/**
* @see IFeature#getDiscoveryInfos()
*/
+ //VK: method name: getDiscoveryInfo (plural==singular)
public IInfo[] getDiscoveryInfos() {
IInfo[] result = new IInfo[0];
if (discoveryInfos == null && !isInitialized)
@@ -365,6 +372,7 @@
* Sets the discoveryInfos
* @param discoveryInfos The discoveryInfos to set
*/
+ //VK: method name: getDiscoveryInfo (plural==singular)
public void setDiscoveryInfos(IInfo[] discoveryInfos) {
if (discoveryInfos != null) {
this.discoveryInfos = (new ArrayList());
@@ -732,6 +740,7 @@
/**
* initialize teh feature by reading the feature.xml if it exists
*/
+ // VK: why is this public ???
public void initializeFeature() throws CoreException {
if (!isInitialized) {
isInitialized = true;
@@ -765,6 +774,7 @@
/**
*/
+ // VK: method name ... downloadArchives(...)
private void downloadArchivesLocally(ISite tempSite, String[] archiveIDToInstall, IProgressMonitor monitor) throws CoreException, IOException {
URL sourceURL;
@@ -785,6 +795,7 @@
// should be the regular plugins/pluginID_ver as the Temp site is OUR site
newFile = Site.DEFAULT_PLUGIN_PATH + archiveIDToInstall[i];
newURL = UpdateManagerUtils.resolveAsLocal(sourceURL, newFile, monitor);
+ // VK: this is a very confusing way to do a download
// transfer the possible mapping to the temp site
((Site) tempSite).addArchive(new Info(archiveIDToInstall[i], newURL));
@@ -808,11 +819,15 @@
/**
*/
+ // VK: downloadData ... why are we handling the download of plugin and non-plugin
+ // VK: file differently??? Why not just have one download method that takes a source
+ // VK: and target??? Would have one download code handling progress, recovery, etc
private void downloadDataLocally(IFeature targetFeature, IDataEntry[] dataToInstall, IProgressMonitor monitor) throws CoreException, IOException {
URL sourceURL;
// any other data
IDataEntry[] entries = getDataEntries();
+ // VK: why getDataEntries() when this is passed as dataToInstall ??? It is not used anywhere else.
if (entries != null) {
if (monitor != null) {
monitor.beginTask("Installing Other Data information", dataToInstall.length);
@@ -822,6 +837,7 @@
}
for (int j = 0; j < entries.length; j++) {
+ // VK: see above ... use "entries.length" but iterate over dataToInstall[j] !!!!
String name = dataToInstall[j].getIdentifier();
if (monitor != null) {
monitor.subTask("..." + name);
@@ -1012,6 +1028,7 @@
/**
* perform pre processing before opening the feature archive
*/
+ // VK: why is open protected and close public
protected void openFeature() {
};
@@ -1052,6 +1069,9 @@
* the default ID is plugins/pluginId_pluginVer or
* the default ID is fragments/pluginId_pluginVer or
*/
+ // VK: what do we want the concept of the id to be? we override it in PackagedFeature.
+ // VK: the whole handling of pluginEntry, dataEntry, archive is CONFUSING !!!
+ // VK: what about non-plugin data ??? are these archives???
public String getArchiveID(IPluginEntry entry){
//FIXME: fragments
String type = (entry.isFragment())?Site.DEFAULT_FRAGMENT_PATH:Site.DEFAULT_PLUGIN_PATH;
@@ -1061,11 +1081,14 @@
/**
* return the list of FILE to be transfered for a Plugin
*/
+ // VK: why are some of the abstract methods public and others are protected. All
+ // VK: methods that need to be called by other objects (ec. Site) need to be public
protected abstract String[] getStorageUnitNames(IPluginEntry pluginEntry) throws CoreException;
/**
* return the list of FILE to be transfered from within the Feature
*/
+ // VK: the term "storage unit" is confusing ...
protected abstract String[] getStorageUnitNames() throws CoreException;
/**
@@ -1089,6 +1112,7 @@
/*
* @see IAdaptable#getAdapter(Class)
*/
+ //VK: who calls this. Why is this needed?
public Object getAdapter(Class adapter) {
return null;
}
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeaturePackaged.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeaturePackaged.java
index b45a9f5..3263972 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeaturePackaged.java
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeaturePackaged.java
@@ -170,6 +170,8 @@
/**
* @see AbstractFeature#getContentReferences()
*/
+ // VK: javadoc: AbstractFeature does not exist
+ // VK: code below handles plugin data only. What about non-plugin data???
public String[] getArchives() {
String[] names = new String[getPluginEntryCount()];
IPluginEntry[] entries = getPluginEntries();
@@ -182,6 +184,7 @@
/**
* @see AbstractFeature#isInstallable()
*/
+ // VK: javadoc: AbstractFeature does not exist
public boolean isInstallable() {
return true;
}
@@ -189,6 +192,7 @@
/**
* @see AbstractFeature#getInputStreamFor(String)
*/
+ // VK: javadoc: AbstractFeature does not exist
protected InputStream getInputStreamFor(String name) throws CoreException, IOException {
InputStream result = null;
try {
@@ -213,6 +217,7 @@
/**
* @see AbstractFeature#getStorageUnitNames()
*/
+ // VK: javadoc: AbstractFeature does not exist
protected String[] getStorageUnitNames() throws CoreException {
// make sure the feature archive has been transfered locally
@@ -267,6 +272,7 @@
/**
* @see AbstractFeature#close(IPluginEntry)
*/
+ // VK: javadoc: AbstractFeature does not exist
protected void close(IPluginEntry entry) throws IOException {
if (currentOpenJarFile != null)
currentOpenJarFile.close();
@@ -275,6 +281,7 @@
/**
* @see AbstractFeature#closeFeature()
*/
+ // VK: javadoc: AbstractFeature does not exist
public void closeFeature() throws IOException {
if (currentOpenJarFile != null)
currentOpenJarFile.close();
@@ -328,6 +335,8 @@
* baseclass
* baseclass + ".properties"
*/
+ // VK: why do we not use the class loader to load these? would not need to do the lookup
+ // VK: (ie. use the ResourceBundle support)
public ResourceBundle getResourceBundle() throws IOException, CoreException {
ResourceBundle result = null;
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeatureParser.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeatureParser.java
index 3f4f76d..c300423 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeatureParser.java
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeatureParser.java
@@ -56,6 +56,8 @@
Assert.isTrue(feature instanceof Feature);
this.feature = (Feature)feature;
+ // VK: any time you need to cast like this it means that any other implementation of
+ // IFeature will not work !!!!
// DEBUG:
if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING){
@@ -63,6 +65,8 @@
}
bundle = ((Feature)feature).getResourceBundle();
+ // VK: any time you need to cast like this it means that any other implementation of
+ // IFeature will not work !!!!
parser.parse(new InputSource(featureStream));
}
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/InternalSiteManager.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/InternalSiteManager.java
index 37121f4..77c1bcf 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/InternalSiteManager.java
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/InternalSiteManager.java
@@ -82,6 +82,7 @@
if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_WARNINGS) {
UpdateManagerPlugin.getPlugin().debug("URL's protocol :" + protocol + " is not recongnize, attempting to discover site type in site.xml");
}
+ // VK: should have local private debug(String) that delegates as above ... readability
// protocol not found, attempt to use default site
// we will atemopt to read teh site.xml
@@ -144,6 +145,7 @@
* Gets the sitesTypes
* @return Returns a Map
*/
+ // VK: getSiteTypes() ???
public Map getSitesTypes() {
return sitesTypes;
}
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/Site.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/Site.java
index 7dd6cac..86b7df4 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/Site.java
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/Site.java
@@ -23,6 +23,7 @@
* default path under the site where plugins will be installed
*/
//FIXME: fragment
+ //VK: plugins and fragments are going to be in plugins/ (no separate fragment path)
public static final String DEFAULT_FRAGMENT_PATH = "fragments/";
/**
@@ -145,6 +146,8 @@
// should start Unit Of Work and manage Progress Monitor
Feature localFeature = createExecutableFeature(sourceFeature);
((Feature) sourceFeature).install(localFeature, monitor);
+ // VK: any time you need to cast like this it means that any other implementation of
+ // IFeature will not work !!!!
IFeatureReference localReference = new FeatureReference(this, localFeature.getURL());
this.addFeatureReference(localReference);
@@ -162,6 +165,8 @@
public void remove(IFeature feature, IProgressMonitor monitor) throws CoreException {
((Feature)feature).remove(monitor);
+ // VK: any time you need to cast like this it means that any other implementation of
+ // IFeature will not work !!!!
// remove feature reference
IFeatureReference[] featureReferences = getFeatureReferences();
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteURL.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteURL.java
index 75b4a14..d21ad26 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteURL.java
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteURL.java
Binary files differ
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/Writer.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/Writer.java
index 96dde13..ee52d5e 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/Writer.java
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/Writer.java
@@ -33,6 +33,7 @@
* @param buffer
* @param c
*/
+// VK: if we are reading/ writing as UTF-8, why are we doing this ?????
private static void appendEscapedChar(StringBuffer buffer, char c) {
String replacement = getReplacement(c);
if (replacement != null) {