/******************************************************************************* | |
* Copyright (c) 2000, 2003 IBM Corporation and others. | |
* All rights reserved. This program and the accompanying materials | |
* are made available under the terms of the Common Public License v1.0 | |
* which accompanies this distribution, and is available at | |
* http://www.eclipse.org/legal/cpl-v10.html | |
* | |
* Contributors: | |
* IBM Corporation - initial API and implementation | |
*******************************************************************************/ | |
package org.eclipse.update.tests.model; | |
import java.io.*; | |
import java.net.URL; | |
import java.util.ResourceBundle; | |
import org.eclipse.update.core.model.*; | |
import org.eclipse.update.tests.UpdateManagerTestCase; | |
public class FeatureMain extends UpdateManagerTestCase { | |
public FeatureMain(String testcase){ | |
super(testcase); | |
} | |
public void testMain() throws Exception { | |
FeatureModelFactory factory = new FeatureModelFactory(); | |
InputStream is = null; | |
FeatureModel feature = null; | |
System.out.println("Parsing feature ..."); | |
try { | |
is = FeatureMain.class.getResourceAsStream("feature.xml"); | |
feature = factory.parseFeature(is); | |
} finally { | |
if (is != null) { | |
try { is.close();} catch(IOException e) {} | |
} | |
} | |
String base = "http://another.server/feature.xml"; | |
System.out.println("Resolving feature using "+base+" ..."); | |
ResourceBundle bundle = null; | |
bundle = ResourceBundle.getBundle("org/eclipse/update/tests/model/test"); | |
feature.resolve(new URL(base), new URL(base)); | |
} | |
// private static void writeFeature(PrintWriter w, int level, FeatureModel feature) { | |
// if (feature == null) return; | |
// | |
// String in = getIndent(level); | |
// w.println(in+"<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); | |
// | |
// w.println(in+"<feature"); | |
// w.println(in+" "+"id=\""+feature.getFeatureIdentifier()+"\""); | |
// w.println(in+" "+"version=\""+feature.getFeatureVersion()+"\""); | |
// w.println(in+" "+"label=\""+feature.getLabel()+"\""); | |
// w.println(in+" "+"provider-name=\""+feature.getProvider()+"\""); | |
// w.println(in+" "+"image=\""+feature.getImageURLString()+"\" -> "+feature.getImageURL()); | |
// w.println(in+" "+"os=\""+feature.getOS()+"\""); | |
// w.println(in+" "+"ws=\""+feature.getWS()+"\""); | |
// w.println(in+" "+"nl=\""+feature.getNL()+"\""); | |
// w.println(in+" "+"application=\""+feature.getApplication()+"\""); | |
// w.println(in+" "+">"); | |
// | |
// writeDescription(w, level+1, feature.getDescriptionModel()); | |
// writeCopyright(w, level+1, feature.getCopyrightModel()); | |
// writeLicense(w, level+1, feature.getLicenseModel()); | |
// writeURLs(w, level+1, feature); | |
// writePrereqs(w, level+1, feature); | |
// writePluginEntries(w, level+1, feature); | |
// writeNonPluginEntries(w, level+1, feature); | |
// | |
// w.println(in+"</feature>"); | |
// } | |
// | |
// private static void writeDescription(PrintWriter w, int level, URLEntryModel ue) { | |
// String in = getIndent(level); | |
// w.println(""); | |
// w.println(in+"<description url=\""+ue.getURLString()+"\" -> "+ue.getURL()+">"); | |
// w.println(in+ue.getAnnotation()); | |
// w.println(in+"</description>"); | |
// } | |
// | |
// private static void writeCopyright(PrintWriter w, int level, URLEntryModel ue) { | |
// String in = getIndent(level); | |
// w.println(""); | |
// w.println(in+"<copyright url=\""+ue.getURLString()+"\" -> "+ue.getURL()+">"); | |
// w.println(in+ue.getAnnotation()); | |
// w.println(in+"</copyright>"); | |
// } | |
// | |
// private static void writeLicense(PrintWriter w, int level, URLEntryModel ue) { | |
// String in = getIndent(level); | |
// w.println(""); | |
// w.println(in+"<license url=\""+ue.getURLString()+"\" -> "+ue.getURL()+">"); | |
// w.println(in+ue.getAnnotation()); | |
// w.println(in+"</license>"); | |
// } | |
// | |
// private static void writeURLs(PrintWriter w, int level, FeatureModel feature) { | |
// String in = getIndent(level); | |
// String in2 = getIndent(level+1); | |
// w.println(""); | |
// w.println(in+"<url>"); | |
// | |
// URLEntryModel update = feature.getUpdateSiteEntryModel(); | |
// w.println(in2+"<update"); | |
// w.println(in2+" "+"url=\""+update.getURLString()+"\" -> "+update.getURL()); | |
// w.println(in2+" "+"label=\""+update.getAnnotation()+"\""); | |
// w.println(in2+" "+"/>"); | |
// | |
// URLEntryModel[] discovery = feature.getDiscoverySiteEntryModels(); | |
// for (int i=0; i<discovery.length; i++) { | |
// w.println(in2+"<discovery"); | |
// w.println(in2+" "+"url=\""+discovery[i].getURLString()+"\" -> "+discovery[i].getURL()); | |
// w.println(in2+" "+"label=\""+discovery[i].getAnnotation()+"\""); | |
// w.println(in2+" "+"/>"); | |
// } | |
// | |
// w.println(in+"</url>"); | |
// } | |
// | |
// private static void writePrereqs(PrintWriter w, int level, FeatureModel feature) { | |
// String in = getIndent(level); | |
// String in2 = getIndent(level+1); | |
// w.println(""); | |
// w.println(in+"<requires>"); | |
// | |
// ImportModel[] imp = feature.getImportModels(); | |
// for (int i=0; i<imp.length; i++) { | |
// w.println(in2+"<import"); | |
// w.println(in2+" "+"plugin=\""+imp[i].getIdentifier()+"\""); | |
// w.println(in2+" "+"version=\""+imp[i].getVersion()+"\""); | |
// w.println(in2+" "+"match=\""+imp[i].getMatchingRuleName()+"\""); | |
// w.println(in2+" "+"/>"); | |
// } | |
// | |
// w.println(in+"</requires>"); | |
// } | |
// | |
// private static void writePluginEntries(PrintWriter w, int level, FeatureModel feature) { | |
// String in = getIndent(level); | |
// w.println(""); | |
// | |
// PluginEntryModel[] plugin = feature.getPluginEntryModels(); | |
// for (int i=0; i<plugin.length; i++) { | |
// w.println(in+"<plugin"); | |
// w.println(in+" "+"id=\""+plugin[i].getPluginIdentifier()+"\""); | |
// w.println(in+" "+"version=\""+plugin[i].getPluginVersion()+"\""); | |
// w.println(in+" "+"fragment=\""+plugin[i].isFragment()+"\""); | |
// w.println(in+" "+"os=\""+plugin[i].getOS()+"\""); | |
// w.println(in+" "+"ws=\""+plugin[i].getWS()+"\""); | |
// w.println(in+" "+"nl=\""+plugin[i].getNL()+"\""); | |
// w.println(in+" "+"download-size=\""+plugin[i].getDownloadSize()+"\""); | |
// w.println(in+" "+"install-size=\""+plugin[i].getInstallSize()+"\""); | |
// w.println(in+" "+"/>"); | |
// } | |
// } | |
// | |
// private static void writeNonPluginEntries(PrintWriter w, int level, FeatureModel feature) { | |
// String in = getIndent(level); | |
// w.println(""); | |
// | |
// NonPluginEntryModel[] data = feature.getNonPluginEntryModels(); | |
// for (int i=0; i<data.length; i++) { | |
// w.println(in+"<data"); | |
// w.println(in+" "+"id=\""+data[i].getIdentifier()+"\""); | |
// w.println(in+" "+"download-size=\""+data[i].getDownloadSize()+"\""); | |
// w.println(in+" "+"install-size=\""+data[i].getInstallSize()+"\""); | |
// w.println(in+" "+"/>"); | |
// } | |
// } | |
// | |
// | |
// private static String getIndent(int level) { | |
// String indent = ""; | |
// for (int i=0; i<level; i++) | |
// indent += " "; | |
// return indent; | |
// } | |
} |