Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/ComponentXML.java')
-rw-r--r--archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/ComponentXML.java361
1 files changed, 0 insertions, 361 deletions
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/ComponentXML.java b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/ComponentXML.java
deleted file mode 100644
index 3b97594b5..000000000
--- a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/ComponentXML.java
+++ /dev/null
@@ -1,361 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005 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 - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.wtp.releng.tools.component.model;
-
-import java.io.BufferedInputStream;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
-import org.eclipse.wtp.releng.tools.component.ILocation;
-import org.xml.sax.Attributes;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-public class ComponentXML
-{
- public static final String CONST_COMPONENT_XML = "component.xml";
- private static final String NS = "http://eclipse.org/wtp/releng/tools/component-model";
- private static final String ELEMENT_COMPONENT = "component";
- private static final String ELEMENT_PLUGIN = "plugin";
- private static final String ELEMENT_PACKAGE = "package";
- private static final String ELEMENT_TYPE = "type";
- private static final String ELEMENT_COMPONENT_DEPENDS = "component-depends";
- private static final String ELEMENT_COMPONENT_REF = "component-ref";
- private static final String ATTR_XMLNS = "xmlns";
- private static final String ATTR_NAME = "name";
- private static final String ATTR_FRAGMENT = "fragment";
- private static final String ATTR_ID = "id";
- private static final String ATTR_API = "api";
- private static final String ATTR_EXCLUSIVE = "exclusive";
- private static final String ATTR_UNRESTRICTED = "unrestricted";
- private static final String ATTR_REFERENCE = "reference";
- private static final String ATTR_IMPLEMENT = "implement";
- private static final String ATTR_SUBCLASS = "subclass";
- private static final String ATTR_INSTANTIATE = "instantiate";
-
- private ILocation location;
- private boolean loaded;
- private String name;
- private List plugins;
- private List packages;
- private ComponentDepends componentDepends;
-
- public ComponentXML()
- {
- loaded = false;
- }
- /**
- * @return Returns the location.
- */
- public ILocation getLocation()
- {
- return location;
- }
-
- /**
- * @param location The location to set.
- */
- public void setLocation(ILocation location)
- {
- this.location = location;
- loaded = false;
- }
-
- /**
- * @return Returns the componentDepends.
- */
- public ComponentDepends getComponentDepends()
- {
- return componentDepends;
- }
-
- /**
- * @param componentDepends The componentDepends to set.
- */
- public void setComponentDepends(ComponentDepends componentDepends)
- {
- this.componentDepends = componentDepends;
- }
-
- /**
- * @return Returns the name.
- */
- public String getName()
- {
- return name;
- }
-
- /**
- * @param name The name to set.
- */
- public void setName(String name)
- {
- this.name = name;
- }
-
- /**
- * @return Returns the packages.
- */
- public List getPackages()
- {
- if (packages == null)
- packages = new ArrayList(1);
- return packages;
- }
-
- /**
- * @return Returns the plugins.
- */
- public List getPlugins()
- {
- if (plugins == null)
- plugins = new ArrayList(1);
- return plugins;
- }
-
- public void load() throws IOException, FileNotFoundException
- {
- if (!loaded)
- {
- try
- {
- SAXParserFactory factory = SAXParserFactory.newInstance();
- factory.setNamespaceAware(false);
- factory.setValidating(false);
- SAXParser parser = factory.newSAXParser();
- parser.parse(new InputSource(new BufferedInputStream(location.getInputStream())), new ComponentXMLHandler(this));
- loaded = true;
- }
- catch (ParserConfigurationException pce)
- {
- pce.printStackTrace();
- }
- catch (SAXException saxe)
- {
- saxe.printStackTrace();
- }
- }
- }
-
- public String toString()
- {
- StringBuffer sb = new StringBuffer("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
- sb.append("<component ");
- saveAttribute(sb, ATTR_XMLNS, NS);
- saveAttribute(sb, ATTR_NAME, getName());
- sb.append(">");
- saveComponentDepends(sb, getComponentDepends());
- for (Iterator it = getPlugins().iterator(); it.hasNext();)
- savePlugin(sb, (Plugin)it.next());
- for (Iterator it = getPackages().iterator(); it.hasNext();)
- savePackage(sb, (Package)it.next());
- sb.append("</component>");
- return sb.toString();
- }
-
- public void save() throws IOException
- {
- if (location != null)
- {
- File file = new File(location.getAbsolutePath());
- file.getParentFile().mkdirs();
- FileOutputStream fos = new FileOutputStream(file);
- fos.write(toString().getBytes("UTF-8"));
- fos.close();
- }
- }
-
- private void saveComponentDepends(StringBuffer sb, ComponentDepends dep)
- {
- sb.append("<component-depends");
- if (dep.getUnrestricted() != null)
- saveAttribute(sb, ATTR_UNRESTRICTED, String.valueOf(dep.isUnrestricted()));
- sb.append(">");
- for (Iterator it = dep.getComponentRefs().iterator(); it.hasNext();)
- saveComponentRef(sb, (ComponentRef)it.next());
- sb.append("</component-depends>");
- }
-
- private void saveComponentRef(StringBuffer sb, ComponentRef ref)
- {
- sb.append("<component-ref");
- saveAttribute(sb, ATTR_NAME, ref.getName());
- sb.append("/>");
- }
-
- private void savePlugin(StringBuffer sb, Plugin plugin)
- {
- sb.append("<plugin");
- saveAttribute(sb, ATTR_ID, plugin.getId());
- if (plugin.getFragment() != null)
- saveAttribute(sb, ATTR_FRAGMENT, String.valueOf(plugin.isFragment()));
- sb.append("/>");
- }
-
- private void savePackage(StringBuffer sb, Package pkg)
- {
- sb.append("<package");
- saveAttribute(sb, ATTR_NAME, pkg.getName());
- if (pkg.getApi() != null)
- saveAttribute(sb, ATTR_API, String.valueOf(pkg.isApi()));
- if (pkg.getExclusive() != null)
- saveAttribute(sb, ATTR_EXCLUSIVE, String.valueOf(pkg.isExclusive()));
- sb.append(">");
- for (Iterator it = pkg.getTypes().iterator(); it.hasNext();)
- saveType(sb, (Type)it.next());
- sb.append("</package>");
- }
-
- private void saveType(StringBuffer sb, Type type)
- {
- sb.append("<type");
- saveAttribute(sb, ATTR_NAME, type.getName());
- if (type.getReference() != null)
- saveAttribute(sb, ATTR_REFERENCE, String.valueOf(type.isReference()));
- if (type.getImplement() != null)
- saveAttribute(sb, ATTR_IMPLEMENT, String.valueOf(type.isImplement()));
- if (type.getSubclass() != null)
- saveAttribute(sb, ATTR_SUBCLASS, String.valueOf(type.isSubclass()));
- if (type.getInstantiate() != null)
- saveAttribute(sb, ATTR_INSTANTIATE, String.valueOf(type.isInstantiate()));
- sb.append("/>");
- }
-
- private void saveAttribute(StringBuffer sb, String key, String value)
- {
- if (key != null && value != null)
- {
- sb.append(" ");
- sb.append(key);
- sb.append("=\"");
- sb.append(value);
- sb.append("\"");
- }
- }
-
- public Object clone()
- {
- ComponentXML clone = new ComponentXML();
- clone.setName(getName());
- clone.setLocation(getLocation());
- ComponentDepends depends = getComponentDepends();
- if (depends != null)
- clone.setComponentDepends((ComponentDepends)depends.clone());
- if (plugins != null)
- {
- List pluginsClone = clone.getPlugins();
- for (Iterator it = plugins.iterator(); it.hasNext();)
- pluginsClone.add(((Plugin)it.next()).clone());
- }
- if (packages != null)
- {
- List packagesClone = clone.getPackages();
- for (Iterator it = packages.iterator(); it.hasNext();)
- packagesClone.add(((Package)it.next()).clone());
- }
- return clone;
- }
-
- private static class ComponentXMLHandler extends DefaultHandler
- {
- private ComponentXML compXML;
- private Package pkg;
-
- public ComponentXMLHandler(ComponentXML compXML)
- {
- this.compXML = compXML;
- this.compXML.setComponentDepends(new ComponentDepends());
- this.compXML.setName(null);
- this.compXML.getPlugins().clear();
- this.compXML.getPackages().clear();
- }
-
- public void startElement(String uri, String elementName, String qName, Attributes attributes) throws SAXException
- {
- if (equalsLocalpart(qName, ELEMENT_PLUGIN) || equalsLocalpart(elementName, ELEMENT_PLUGIN))
- {
- Plugin plugin = new Plugin();
- plugin.setId(attributes.getValue(ATTR_ID));
- String attrFragment = attributes.getValue(ATTR_FRAGMENT);
- if (attrFragment != null)
- plugin.setFragment(Boolean.valueOf(attrFragment));
- compXML.getPlugins().add(plugin);
- }
- else if (equalsLocalpart(qName, ELEMENT_PACKAGE) || equalsLocalpart(elementName, ELEMENT_PACKAGE))
- {
- pkg = new Package();
- pkg.setName(attributes.getValue(ATTR_NAME));
- String attrApi = attributes.getValue(ATTR_API);
- if (attrApi != null)
- pkg.setApi(Boolean.valueOf(attrApi));
- String attrExclusive = attributes.getValue(ATTR_EXCLUSIVE);
- if (attrExclusive != null)
- pkg.setExclusive(Boolean.valueOf(attrExclusive));
- compXML.getPackages().add(pkg);
- }
- else if (equalsLocalpart(qName, ELEMENT_TYPE) || equalsLocalpart(elementName, ELEMENT_TYPE))
- {
- if (pkg != null)
- {
- Type type = new Type();
- type.setName(attributes.getValue(ATTR_NAME));
- String attrRef = attributes.getValue(ATTR_REFERENCE);
- if (attrRef != null)
- type.setReference(Boolean.valueOf(attrRef));
- String attrImpl = attributes.getValue(ATTR_IMPLEMENT);
- if (attrImpl != null)
- type.setImplement(Boolean.valueOf(attrImpl));
- String attrSubclass = attributes.getValue(ATTR_SUBCLASS);
- if (attrSubclass != null)
- type.setSubclass(Boolean.valueOf(attrSubclass));
- String attrInstantiate = attributes.getValue(ATTR_INSTANTIATE);
- if (attrInstantiate != null)
- type.setInstantiate(Boolean.valueOf(attrInstantiate));
- pkg.getTypes().add(type);
- }
- }
- else if (equalsLocalpart(qName, ELEMENT_COMPONENT) || equalsLocalpart(elementName, ELEMENT_COMPONENT))
- {
- compXML.setName(attributes.getValue(ATTR_NAME));
- }
- else if (equalsLocalpart(qName, ELEMENT_COMPONENT_DEPENDS) || equalsLocalpart(elementName, ELEMENT_COMPONENT_DEPENDS))
- {
- String attrUnrestricted = attributes.getValue(ATTR_UNRESTRICTED);
- if (attrUnrestricted != null)
- compXML.getComponentDepends().setUnrestricted(Boolean.valueOf(attrUnrestricted));
- }
- else if (equalsLocalpart(qName, ELEMENT_COMPONENT_REF) || equalsLocalpart(elementName, ELEMENT_COMPONENT_REF))
- {
- ComponentRef compRef = new ComponentRef();
- compRef.setName(attributes.getValue(ATTR_NAME));
- compXML.getComponentDepends().getComponentRefs().add(compRef);
- }
- }
-
- private boolean equalsLocalpart(String fullname, String localpart)
- {
- int index = fullname.indexOf(':');
- if (index != -1)
- return fullname.substring(index + 1).equals(localpart);
- else
- return fullname.equals(localpart);
- }
- }
-}

Back to the top