You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@lucene.apache.org by si...@apache.org on 2006/12/13 13:40:04 UTC

svn commit: r486627 [6/9] - in /lucene/java/trunk/contrib/gdata-server/src/gom: java/org/ java/org/apache/ java/org/apache/lucene/ java/org/apache/lucene/gdata/ java/org/apache/lucene/gdata/gom/ java/org/apache/lucene/gdata/gom/core/ java/org/apache/lu...

Added: lucene/java/trunk/contrib/gdata-server/src/gom/java/org/apache/lucene/gdata/gom/core/extension/GOMExtensionFactory.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/contrib/gdata-server/src/gom/java/org/apache/lucene/gdata/gom/core/extension/GOMExtensionFactory.java?view=auto&rev=486627
==============================================================================
--- lucene/java/trunk/contrib/gdata-server/src/gom/java/org/apache/lucene/gdata/gom/core/extension/GOMExtensionFactory.java (added)
+++ lucene/java/trunk/contrib/gdata-server/src/gom/java/org/apache/lucene/gdata/gom/core/extension/GOMExtensionFactory.java Wed Dec 13 04:39:54 2006
@@ -0,0 +1,35 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.lucene.gdata.gom.core.extension;
+
+import java.util.List;
+
+import javax.xml.namespace.QName;
+
+import org.apache.lucene.gdata.gom.GOMExtension;
+import org.apache.lucene.gdata.gom.GOMNamespace;
+
+/**
+ * @author Simon Willnauer
+ * 
+ */
+public interface GOMExtensionFactory {
+
+	public abstract List<GOMNamespace> getNamespaces();
+
+	public abstract GOMExtension canHandleExtensionElement(QName name);
+}

Added: lucene/java/trunk/contrib/gdata-server/src/gom/java/org/apache/lucene/gdata/gom/core/utils/AtomParserUtils.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/contrib/gdata-server/src/gom/java/org/apache/lucene/gdata/gom/core/utils/AtomParserUtils.java?view=auto&rev=486627
==============================================================================
--- lucene/java/trunk/contrib/gdata-server/src/gom/java/org/apache/lucene/gdata/gom/core/utils/AtomParserUtils.java (added)
+++ lucene/java/trunk/contrib/gdata-server/src/gom/java/org/apache/lucene/gdata/gom/core/utils/AtomParserUtils.java Wed Dec 13 04:39:54 2006
@@ -0,0 +1,174 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.lucene.gdata.gom.core.utils;
+
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.regex.Pattern;
+
+import org.apache.lucene.gdata.gom.AtomMediaType;
+import org.apache.lucene.gdata.gom.GOMLink;
+
+/**
+ * @author Simon Willnauer
+ * 
+ */
+public class AtomParserUtils {
+	private static final Pattern ATOM_MEDIA_TYPE_PATTERN = Pattern
+			.compile(".+/.+");
+
+	/**
+	 * Replaces all xml character with the corresponding entity.
+	 * 
+	 * <ul>
+	 * <li>&lt;!ENTITY lt &quot;&amp;#38;#60;&quot;&gt;</li>
+	 * <li>&lt;!ENTITY gt &quot;&amp;#62;&quot;&gt;</li>
+	 * <li>&lt;!ENTITY amp &quot;&amp;#38;#38;&quot;&gt;</li>
+	 * <li>&lt;!ENTITY apos &quot;&amp;#39;&quot;&gt;</li>
+	 * <li>&lt;!ENTITY quot &quot;&amp;#34;&quot;&gt;</li>
+	 * </ul>
+	 * 
+	 * see <a
+	 * href="http://www.w3.org/TR/2006/REC-xml-20060816/#intern-replacement">W3C
+	 * specification</a>
+	 * 
+	 * @param aString -
+	 *            a string may container xml characters like '<'
+	 * @return the input string with escaped xml characters
+	 */
+	public static String escapeXMLCharacter(String aString) {
+		StringBuilder builder = new StringBuilder();
+		char[] cs = aString.toCharArray();
+		for (int i = 0; i < cs.length; i++) {
+			switch (cs[i]) {
+			case '<':
+				builder.append("&lt;");
+				break;
+			case '>':
+				builder.append("&gt;");
+				break;
+			case '"':
+				builder.append("&quot;");
+				break;
+			case '\'':
+				builder.append("&apos;");
+				break;
+			case '&':
+				builder.append("&amp;");
+				break;
+			case '\0':
+				// this breaks some xml serializer like soap serializer -->
+				// remove it
+				break;
+			default:
+				builder.append(cs[i]);
+			}
+		}
+
+		return builder.toString();
+
+	}
+
+	/**
+	 * @param aMediaType
+	 * @return
+	 */
+	public static boolean isAtomMediaType(String aMediaType) {
+		return (aMediaType == null || aMediaType.length() < 3) ? false
+				: ATOM_MEDIA_TYPE_PATTERN.matcher(aMediaType).matches();
+	}
+
+	/**
+	 * @param aMediaType
+	 * @return
+	 */
+	public static AtomMediaType getAtomMediaType(String aMediaType) {
+		if (aMediaType == null || !isAtomMediaType(aMediaType))
+			throw new IllegalArgumentException(
+					"aMediaType must be a media type and  not be null ");
+		if (aMediaType.endsWith("+xml") || aMediaType.endsWith("/xml"))
+			return AtomMediaType.XML;
+		if (aMediaType.startsWith("text/"))
+			return AtomMediaType.TEXT;
+		return AtomMediaType.BINARY;
+	}
+
+	/**
+	 * @param xmlBase
+	 * @param atomUri
+	 * @return
+	 * @throws URISyntaxException
+	 */
+	public static String getAbsolutAtomURI(String xmlBase, String atomUri)
+			throws URISyntaxException {
+		if (atomUri == null)
+			throw new IllegalArgumentException("atomUri must not be null");
+		if (atomUri.startsWith("www."))
+			atomUri = "http://" + atomUri;
+		URI aUri = new URI(atomUri);
+
+		if (xmlBase == null || xmlBase.length() == 0) {
+			if (!aUri.isAbsolute()) {
+				throw new URISyntaxException(atomUri,
+						" -- no xml:base specified atom uri must be an absolute url");
+			}
+		}
+
+		return atomUri;
+	}
+
+	/**
+	 * Compares two links with rel attribute "alternate" Checks if href and type
+	 * are equal
+	 * 
+	 * @param left -
+	 *            left link to compare
+	 * @param right -
+	 *            right link to compare
+	 * @return <code>true</code> if and only if href and type are equal,
+	 *         otherwise <code>false</code>
+	 */
+	public static boolean compareAlternateLinks(GOMLink left, GOMLink right) {
+		if ((left.getType() == null) ^ right.getType() == null
+				|| (left.getType() == null && right.getType() == null)) {
+			return false;
+		} else {
+			if (!left.getType().equalsIgnoreCase(right.getType()))
+				return false;
+		}
+
+		if (((left.getHrefLang() == null) ^ right.getHrefLang() == null)
+				|| (left.getHrefLang() == null && right.getHrefLang() == null)) {
+			return false;
+		} else {
+			if (!left.getHrefLang().equalsIgnoreCase(right.getHrefLang()))
+				return false;
+		}
+		return true;
+
+	}
+
+	public static void main(String[] args) {
+		// String s = new String(
+		// "<!ENTITY lt \"&#38;#60;\"><!ENTITY gt \"&#62;\"><!ENTITY amp
+		// \"&#38;#38;\"><!ENTITY apos \"&#39;\"><!ENTITY quot \"&#34;\">");
+		// System.out.println(escapeXMLCharacter(s));
+		//		
+		System.out.println(isAtomMediaType("t/h"));
+	}
+
+}

Added: lucene/java/trunk/contrib/gdata-server/src/gom/java/org/apache/lucene/gdata/gom/core/utils/GOMUtils.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/contrib/gdata-server/src/gom/java/org/apache/lucene/gdata/gom/core/utils/GOMUtils.java?view=auto&rev=486627
==============================================================================
--- lucene/java/trunk/contrib/gdata-server/src/gom/java/org/apache/lucene/gdata/gom/core/utils/GOMUtils.java (added)
+++ lucene/java/trunk/contrib/gdata-server/src/gom/java/org/apache/lucene/gdata/gom/core/utils/GOMUtils.java Wed Dec 13 04:39:54 2006
@@ -0,0 +1,424 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.lucene.gdata.gom.core.utils;
+
+import java.math.BigDecimal;
+import java.util.Calendar;
+import java.util.List;
+import java.util.TimeZone;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.apache.lucene.gdata.gom.ContentType;
+import org.apache.lucene.gdata.gom.GOMAttribute;
+import org.apache.lucene.gdata.gom.GOMLink;
+import org.apache.lucene.gdata.gom.GOMNamespace;
+import org.apache.lucene.gdata.gom.core.GDataParseException;
+import org.apache.lucene.gdata.gom.core.GOMAttributeImpl;
+
+/**
+ * @author Simon Willnauer
+ * 
+ */
+public class GOMUtils {
+
+	/*
+	 * Possible values 2003-12-13T18:30:02Z 2003-12-13T18:30:02.25Z
+	 * 2003-12-13T18:30:02+01:00 2003-12-13T18:30:02.25+01:00
+	 */
+	private static final Pattern RFC3339_DATE_PATTERN = Pattern.compile(
+			"(\\d\\d\\d\\d)" + // #YEAR
+					"\\-(\\d\\d)" + // #MONTH
+					"\\-(\\d\\d)[Tt]" + // #DAY
+					"(\\d\\d)" + // #HOURS
+					":(\\d\\d)" + // #MINUTES
+					":(\\d\\d)" + // #SECONDS
+					"(\\.(\\d+))?" + // #MILLISorless
+					"([Zz]|((\\+|\\-)(\\d\\d):(\\d\\d)))?"// #TIMEZONESHIFT
+			, Pattern.COMMENTS);
+
+	static final String ATTRIBUTE_TYPE = "type";
+
+	static final GOMAttribute TEXT_TYPE;
+
+	static final GOMAttribute HTML_TYPE;
+
+	static final GOMAttribute XHTML_TYPE;
+
+	static final GOMAttribute TEXT_TYPE_DEFAULT_NS;
+
+	static final GOMAttribute HTML_TYPE_DEFAULT_NS;
+
+	static final GOMAttribute XHTML_TYPE_DEFAULT_NS;
+
+	static {
+		TEXT_TYPE = new GOMAttributeImpl(GOMNamespace.ATOM_NS_URI,
+				GOMNamespace.ATOM_NS_PREFIX, ATTRIBUTE_TYPE, ContentType.TEXT
+						.name().toLowerCase());
+		HTML_TYPE = new GOMAttributeImpl(GOMNamespace.ATOM_NS_URI,
+				GOMNamespace.ATOM_NS_PREFIX, ATTRIBUTE_TYPE, ContentType.HTML
+						.name().toLowerCase());
+		XHTML_TYPE = new GOMAttributeImpl(GOMNamespace.ATOM_NS_URI,
+				GOMNamespace.ATOM_NS_PREFIX, ATTRIBUTE_TYPE, ContentType.XHTML
+						.name().toLowerCase());
+
+		TEXT_TYPE_DEFAULT_NS = new GOMAttributeImpl(ATTRIBUTE_TYPE,
+				ContentType.TEXT.name().toLowerCase());
+		HTML_TYPE_DEFAULT_NS = new GOMAttributeImpl(ATTRIBUTE_TYPE,
+				ContentType.HTML.name().toLowerCase());
+		XHTML_TYPE_DEFAULT_NS = new GOMAttributeImpl(ATTRIBUTE_TYPE,
+				ContentType.XHTML.name().toLowerCase());
+
+	}
+
+	/**
+	 * @param type
+	 * @return
+	 */
+	public static GOMAttribute getAttributeByContentType(ContentType type) {
+		switch (type) {
+		case HTML:
+			return HTML_TYPE;
+		case XHTML:
+			return XHTML_TYPE;
+
+		default:
+			return TEXT_TYPE;
+		}
+
+	}
+
+	/**
+	 * @param type
+	 * @return
+	 */
+	public static GOMAttribute getAttributeByContentTypeDefaultNs(
+			ContentType type) {
+		if (type == null)
+			return TEXT_TYPE_DEFAULT_NS;
+		switch (type) {
+		case HTML:
+			return HTML_TYPE_DEFAULT_NS;
+		case XHTML:
+			return XHTML_TYPE_DEFAULT_NS;
+
+		default:
+			return TEXT_TYPE_DEFAULT_NS;
+		}
+
+	}
+
+	/**
+	 * Builds a atom namespace attribute
+	 * 
+	 * @param aValue
+	 *            attribute value
+	 * @param aName
+	 *            attribute name
+	 * @return a GOMAttribute
+	 */
+	public static GOMAttribute buildAtomAttribute(String aValue, String aName) {
+		return new GOMAttributeImpl(GOMNamespace.ATOM_NS_URI,
+				GOMNamespace.ATOM_NS_PREFIX, aName, aValue);
+	}
+
+	/**
+	 * @param aValue
+	 * @param aName
+	 * @return
+	 */
+	public static GOMAttribute buildDefaultNamespaceAttribute(String aValue,
+			String aName) {
+		return new GOMAttributeImpl(aName, aValue);
+	}
+
+	/**
+	 * @param aValue
+	 * @param aName
+	 * @return
+	 */
+	public static GOMAttribute buildXMLNamespaceAttribute(String aValue,
+			String aName) {
+		return new GOMAttributeImpl(GOMNamespace.XML_NS_URI,
+				GOMNamespace.XML_NS_PREFIX, aName, aValue);
+	}
+
+	/**
+	 * @param aString
+	 * @return
+	 */
+	public static boolean isRfc3339DateFormat(String aString) {
+		Matcher aMatcher = RFC3339_DATE_PATTERN.matcher(aString);
+		return aMatcher.matches();
+	}
+
+	/**
+	 * @param aString
+	 * @return
+	 */
+	public static long parseRfc3339DateFormat(String aString) {
+		if (aString == null)
+			throw new IllegalArgumentException(
+					"Date-Time String must not be null");
+		Matcher aMatcher = RFC3339_DATE_PATTERN.matcher(aString);
+
+		if (!aMatcher.matches()) {
+			throw new GDataParseException(
+					"Invalid RFC3339 date / time pattern -- " + aString);
+		}
+		int grCount = aMatcher.groupCount();
+		if (grCount > 13)
+			throw new GDataParseException(
+					"Invalid RFC3339 date / time pattern -- " + aString);
+
+		Integer timeZoneShift = null;
+		Calendar dateTime = null;
+		try {
+
+			if (aMatcher.group(9) == null) {
+				// skip time zone
+			} else if (aMatcher.group(9).equalsIgnoreCase("Z")) {
+				timeZoneShift = new Integer(0);
+			} else {
+				timeZoneShift = new Integer((Integer
+						.valueOf(aMatcher.group(12)) * 60 + Integer
+						.valueOf(aMatcher.group(13))));
+				if (aMatcher.group(11).equals("-")) {
+					timeZoneShift = new Integer(-timeZoneShift.intValue());
+				}
+			}
+
+			dateTime = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
+			;
+			dateTime.clear();
+			dateTime.set(Integer.valueOf(aMatcher.group(1)), Integer
+					.valueOf(aMatcher.group(2)) - 1, Integer.valueOf(aMatcher
+					.group(3)), Integer.valueOf(aMatcher.group(4)), Integer
+					.valueOf(aMatcher.group(5)), Integer.valueOf(aMatcher
+					.group(6)));
+			// seconds with milliseconds
+			if (aMatcher.group(8) != null && aMatcher.group(8).length() > 0) {
+
+				dateTime.set(Calendar.MILLISECOND, new BigDecimal("0."/*
+																		 * use
+																		 * big
+																		 * dec
+																		 * this
+																		 * could
+																		 * be
+																		 * big!!
+																		 */
+						+ aMatcher.group(8)).movePointRight(3).intValue());
+			}
+		} catch (NumberFormatException e) {
+			throw new GDataParseException(
+					"Invalid RFC3339 date / time pattern -- " + aString, e);
+		}
+
+		long retVal = dateTime.getTimeInMillis();
+		if (timeZoneShift != null) {
+			retVal -= timeZoneShift.intValue() * 60000;
+		}
+
+		return retVal;
+	}
+
+	/**
+	 * @param aMillisecondLong
+	 * @return
+	 */
+	public static String buildRfc3339DateFormat(long aMillisecondLong) {
+		Calendar instance = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
+		instance.setTimeInMillis(aMillisecondLong);
+
+		StringBuilder builder = new StringBuilder();
+		// 2003-12-13T18:30:02.25+01:00
+		int time = 0;
+		time = instance.get(Calendar.YEAR);
+		if (time < 1000)
+			builder.append("0");
+		if (time < 100)
+			builder.append("0");
+		if (time < 10)
+			builder.append("0");
+		builder.append(time);
+		builder.append('-');
+		time = instance.get(Calendar.MONTH);
+		if (time < 10)
+			builder.append(0);
+		builder.append(time);
+		builder.append('-');
+		time = instance.get(Calendar.DAY_OF_MONTH);
+		if (time < 10)
+			builder.append(0);
+		builder.append(time);
+		builder.append('T');
+		time = instance.get(Calendar.HOUR_OF_DAY);
+		if (time < 10)
+			builder.append(0);
+		builder.append(time);
+		builder.append(':');
+		time = instance.get(Calendar.MINUTE);
+		if (time < 10)
+			builder.append(0);
+		builder.append(time);
+		builder.append(':');
+		time = instance.get(Calendar.SECOND);
+		if (time < 10)
+			builder.append(0);
+		builder.append(time);
+		builder.append('.');
+		builder.append(instance.get(Calendar.MILLISECOND));
+		// this is always GMT offset -> 0
+		builder.append('Z');
+
+		return builder.toString();
+	}
+
+	/**
+	 * @param aMillisecondLong
+	 * @return
+	 */
+	public static String buildRfc822Date(long aMillisecondLong) {
+		/*
+		 * Rather implement it for a special case as use SDF. SDF is very
+		 * expensive to create and not thread safe so it should be synchronized
+		 * of pooled
+		 */
+		Calendar instance = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
+		instance.setTimeInMillis(aMillisecondLong);
+
+		StringBuilder builder = new StringBuilder();
+		// Sun, 06 Aug 2006 00:53:49 +0000
+		// EEE, dd MMM yyyy HH:mm:ss Z
+
+		switch (instance.get(Calendar.DAY_OF_WEEK)) {
+		case Calendar.SUNDAY:
+			builder.append("Sun");
+			break;
+		case Calendar.MONDAY:
+			builder.append("Mon");
+			break;
+		case Calendar.TUESDAY:
+			builder.append("Tue");
+			break;
+		case Calendar.WEDNESDAY:
+			builder.append("Wed");
+			break;
+		case Calendar.THURSDAY:
+			builder.append("Thu");
+			break;
+		case Calendar.FRIDAY:
+			builder.append("Fri");
+			break;
+		case Calendar.SATURDAY:
+			builder.append("Sat");
+			break;
+		default:
+			break;
+		}
+		builder.append(',');
+		builder.append(' ');
+
+		int time = 0;
+		time = instance.get(Calendar.DAY_OF_MONTH);
+		if (time < 10)
+			builder.append(0);
+		builder.append(time);
+		builder.append(' ');
+		switch (instance.get(Calendar.MONTH)) {
+		case Calendar.JANUARY:
+			builder.append("Jan");
+			break;
+		case Calendar.FEBRUARY:
+			builder.append("Feb");
+			break;
+		case Calendar.MARCH:
+			builder.append("Mar");
+			break;
+		case Calendar.APRIL:
+			builder.append("Apr");
+			break;
+		case Calendar.MAY:
+			builder.append("May");
+			break;
+		case Calendar.JUNE:
+			builder.append("Jun");
+			break;
+		case Calendar.JULY:
+			builder.append("Jul");
+			break;
+		case Calendar.AUGUST:
+			builder.append("Aug");
+			break;
+		case Calendar.SEPTEMBER:
+			builder.append("Sep");
+			break;
+		case Calendar.OCTOBER:
+			builder.append("Oct");
+			break;
+		case Calendar.NOVEMBER:
+			builder.append("Nov");
+			break;
+		case Calendar.DECEMBER:
+			builder.append("Dec");
+			break;
+
+		default:
+			break;
+		}
+		builder.append(' ');
+		time = instance.get(Calendar.YEAR);
+		if (time < 1000)
+			builder.append("0");
+		if (time < 100)
+			builder.append("0");
+		if (time < 10)
+			builder.append("0");
+		builder.append(time);
+		builder.append(' ');
+
+		time = instance.get(Calendar.HOUR_OF_DAY);
+		if (time < 10)
+			builder.append(0);
+		builder.append(time);
+		builder.append(':');
+		time = instance.get(Calendar.MINUTE);
+		if (time < 10)
+			builder.append(0);
+		builder.append(time);
+		builder.append(':');
+		time = instance.get(Calendar.SECOND);
+		if (time < 10)
+			builder.append(0);
+		builder.append(time);
+
+		// this is always GMT offset -> 0
+		builder.append(" +0000");
+		return builder.toString();
+	}
+
+	public GOMLink getHtmlLink(List<GOMLink> links) {
+		for (GOMLink link : links) {
+			if ((link.getRel() == null || link.getRel().equals("alternate"))
+					&& (link.getType() == null || link.getType()
+							.equalsIgnoreCase("html")))
+				return link;
+		}
+		return null;
+	}
+}

Added: lucene/java/trunk/contrib/gdata-server/src/gom/java/org/apache/lucene/gdata/gom/gom-aid.ucd
URL: http://svn.apache.org/viewvc/lucene/java/trunk/contrib/gdata-server/src/gom/java/org/apache/lucene/gdata/gom/gom-aid.ucd?view=auto&rev=486627
==============================================================================
--- lucene/java/trunk/contrib/gdata-server/src/gom/java/org/apache/lucene/gdata/gom/gom-aid.ucd (added)
+++ lucene/java/trunk/contrib/gdata-server/src/gom/java/org/apache/lucene/gdata/gom/gom-aid.ucd Wed Dec 13 04:39:54 2006
@@ -0,0 +1,182 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<editmodel:ClassDiagramEditModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:editmodel="editmodel.xmi" xmlns:options="options.xmi" name="gom-aid" id="org.apache.lucene.gdata.gom" metadata="uml2-1.0" initialized="true" scrolledY="430" tag="1000" key="3230303631303036204764617461556D6C2F73696D6F6E">
+  <children xsi:type="editmodel:InterfaceEditModel" name="GOMDocument" location="830,279" size="227,233" id="org.apache.lucene.gdata.gom/GOMDocument" runTimeClassModel="setCharacterEncoding(Ljava.lang.String;),setVersion(Ljava.lang.String;),writeRssOutput(Ljavax.xml.stream.XMLStreamWriter;),getCharacterEncoding(),getRootElement(),writeAtomOutput(Ljavax.xml.stream.XMLStreamWriter;),getVersion(),setRootElement">
+    <children xsi:type="editmodel:CompartmentEditModel"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="204,144">
+      <children xsi:type="editmodel:MethodEditModel" name="setCharacterEncoding" id="org.apache.lucene.gdata.gom/GOMDocument#setCharacterEncoding(Ljava.lang.String;)"/>
+      <children xsi:type="editmodel:MethodEditModel" name="getCharacterEncoding" id="org.apache.lucene.gdata.gom/GOMDocument#getCharacterEncoding()"/>
+      <children xsi:type="editmodel:MethodEditModel" name="getVersion" id="org.apache.lucene.gdata.gom/GOMDocument#getVersion()"/>
+      <children xsi:type="editmodel:MethodEditModel" name="setVersion" id="org.apache.lucene.gdata.gom/GOMDocument#setVersion(Ljava.lang.String;)"/>
+      <children xsi:type="editmodel:MethodEditModel" name="writeRssOutput" id="org.apache.lucene.gdata.gom/GOMDocument#writeRssOutput(Ljavax.xml.stream.XMLStreamWriter;)"/>
+      <children xsi:type="editmodel:MethodEditModel" name="setRootElement" id="org.apache.lucene.gdata.gom/GOMDocument#setRootElement"/>
+      <children xsi:type="editmodel:MethodEditModel" name="writeAtomOutput" id="org.apache.lucene.gdata.gom/GOMDocument#writeAtomOutput(Ljavax.xml.stream.XMLStreamWriter;)"/>
+      <children xsi:type="editmodel:MethodEditModel" name="getRootElement" id="org.apache.lucene.gdata.gom/GOMDocument#getRootElement()"/>
+    </children>
+    <children xsi:type="editmodel:CompartmentEditModel"/>
+    <sourceConnections xsi:type="editmodel:DependencyEditModel" autoLocated="true" id="org.apache.lucene.gdata.gom/GOMDocument->org.apache.lucene.gdata.gom/GOMElement" source="//@children.0" target="//@children.7" targetEnd="//@children.0/@sourceConnections.0/@children.2" label="//@children.0/@sourceConnections.0/@children.0" sourceEnd="//@children.0/@sourceConnections.0/@children.1" connectionRouterKind="Manhattan">
+      <children xsi:type="editmodel:WireLabelEditModel" name="«import»" size="29,10" fontInfo="Arial-8-0" anchorKind="MiddlePart"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="0,116" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="227,134"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" showMethodsParameterNames="true" showMethodsParameterKinds="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPrivateAttributes="true" showProtectedAttributes="true" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showProtectedMethods="true" showPublicMethods="true" showPackageMethods="true" showPrivateMethods="true" showStaticMethods="true" showProtectedInnerClasses="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showPrivateInnerClasses="true" showStaticInnerClasses="true" showAssociationMember="true" showMethods="true" showLiterals="true"/>
+  </children>
+  <children xsi:type="editmodel:InterfaceEditModel" name="GOMExtension" location="92,580" size="116,107" id="org.apache.lucene.gdata.gom/GOMExtension" runTimeClassModel="">
+    <children xsi:type="editmodel:CompartmentEditModel"/>
+    <children xsi:type="editmodel:CompartmentEditModel"/>
+    <children xsi:type="editmodel:CompartmentEditModel"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" autoLocated="true" id="org.apache.lucene.gdata.gom/GOMElement&lt;-org.apache.lucene.gdata.gom/GOMExtension" source="//@children.1" target="//@children.5/@sourceConnections.0" targetEnd="//@children.1/@sourceConnections.0/@children.1" sourceEnd="//@children.1/@sourceConnections.0/@children.0" connectionRouterKind="GeneralizationManhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="58,0" anchorKind="FixedAtEdge" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="203,224"/>
+    </sourceConnections>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" autoLocated="true" id="org.apache.lucene.gdata.gom/GOMXmlEntity&lt;-org.apache.lucene.gdata.gom/GOMExtension" source="//@children.1" target="//@children.4/@sourceConnections.0" targetEnd="//@children.1/@sourceConnections.1/@children.1" sourceEnd="//@children.1/@sourceConnections.1/@children.0" connectionRouterKind="GeneralizationManhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="45,0" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="0,1"/>
+      <bendpoints location="553,525" secondRelativeDimension="-148,344" firstRelativeDimension="16,-24"/>
+      <bendpoints location="553,206" secondRelativeDimension="-100,58" firstRelativeDimension="47,-342"/>
+      <bendpoints location="686,206" secondRelativeDimension="-11,25" firstRelativeDimension="161,-341"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" showMethodsParameterNames="true" showMethodsParameterKinds="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPrivateAttributes="true" showProtectedAttributes="true" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showProtectedMethods="true" showPublicMethods="true" showPackageMethods="true" showPrivateMethods="true" showStaticMethods="true" showProtectedInnerClasses="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showPrivateInnerClasses="true" showStaticInnerClasses="true" showAssociationMember="true" showMethods="true" showAttributes="true" showLiterals="true"/>
+  </children>
+  <children xsi:type="editmodel:InterfaceEditModel" targetConnections="//@children.3/@sourceConnections.3" name="GOMAuthor" location="300,580" size="99,69" id="org.apache.lucene.gdata.gom/GOMAuthor" runTimeClassModel="">
+    <children xsi:type="editmodel:CompartmentEditModel"/>
+    <children xsi:type="editmodel:CompartmentEditModel"/>
+    <children xsi:type="editmodel:CompartmentEditModel"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" autoLocated="true" id="org.apache.lucene.gdata.gom/GOMElement&lt;-org.apache.lucene.gdata.gom/GOMAuthor" source="//@children.2" target="//@children.5/@sourceConnections.0" targetEnd="//@children.2/@sourceConnections.0/@children.1" sourceEnd="//@children.2/@sourceConnections.0/@children.0" connectionRouterKind="GeneralizationManhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="49,0" anchorKind="FixedAtEdge" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="0,234"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" showMethodsParameterNames="true" showMethodsParameterKinds="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPrivateAttributes="true" showProtectedAttributes="true" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showProtectedMethods="true" showPublicMethods="true" showPackageMethods="true" showPrivateMethods="true" showStaticMethods="true" showProtectedInnerClasses="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showPrivateInnerClasses="true" showStaticInnerClasses="true" showAssociationMember="true" showMethods="true"/>
+  </children>
+  <children xsi:type="editmodel:InterfaceEditModel" name="GOMFeed" location="429,580" size="217,647" id="org.apache.lucene.gdata.gom/GOMFeed" runTimeClassModel="oPENSEARCH_NS_PREFIX,getId(),addAuthor(Lorg.apache.lucene.gdata.gom.GOMAuthor;),addEntry(Lorg.apache.lucene.gdata.gom.GOMEntry;),getLogo(),getTitle(),getRights(),setId(Lorg.apache.lucene.gdata.gom.GOMId;),getIcon(),setIcon(Lorg.apache.lucene.gdata.gom.GOMIcon;),setTitle(Lorg.apache.lucene.gdata.gom.GOMTitle;),getNamespaces(),setGenerator(Lorg.apache.lucene.gdata.gom.GOMGenerator;),lOCALNAME_RSS,getAuthors(),getLinks(),setRights(Lorg.apache.lucene.gdata.gom.GOMRights;),addContributor(Lorg.apache.lucene.gdata.gom.GOMContributor;),addNamespace(Lorg.apache.lucene.gdata.gom.core.GOMNamespace;),setSubtitle(Lorg.apache.lucene.gdata.gom.GOMSubtitle;),lOCALNAME,getUpdated(),setLogo(Lorg.apache.lucene.gdata.gom.GOMLogo;),getSubtitle(),getGenerator(),addCategory(Lorg.apache.lucene.gdata.gom.GOMCategory;),setUpdated(Lorg.apache.
 lucene.gdata.gom.GOMTime;),oPENSEARCH_NS_URI,getCategories(),getEntries(),getContributor()">
+    <children xsi:type="editmodel:CompartmentEditModel" size="146,72">
+      <children xsi:type="editmodel:AttributeEditModel" name="oPENSEARCH_NS_PREFIX" id="org.apache.lucene.gdata.gom/GOMFeed#oPENSEARCH_NS_PREFIX"/>
+      <children xsi:type="editmodel:AttributeEditModel" name="lOCALNAME_RSS" id="org.apache.lucene.gdata.gom/GOMFeed#lOCALNAME_RSS"/>
+      <children xsi:type="editmodel:AttributeEditModel" name="oPENSEARCH_NS_URI" id="org.apache.lucene.gdata.gom/GOMFeed#oPENSEARCH_NS_URI"/>
+      <children xsi:type="editmodel:AttributeEditModel" name="lOCALNAME" id="org.apache.lucene.gdata.gom/GOMFeed#lOCALNAME"/>
+    </children>
+    <children xsi:type="editmodel:CompartmentEditModel" size="194,486">
+      <children xsi:type="editmodel:MethodEditModel" name="addEntry" id="org.apache.lucene.gdata.gom/GOMFeed#addEntry(Lorg.apache.lucene.gdata.gom.GOMEntry;)"/>
+      <children xsi:type="editmodel:MethodEditModel" name="getEntries" id="org.apache.lucene.gdata.gom/GOMFeed#getEntries()"/>
+      <children xsi:type="editmodel:MethodEditModel" name="addAuthor" id="org.apache.lucene.gdata.gom/GOMFeed#addAuthor(Lorg.apache.lucene.gdata.gom.GOMAuthor;)"/>
+      <children xsi:type="editmodel:MethodEditModel" name="getAuthors" id="org.apache.lucene.gdata.gom/GOMFeed#getAuthors()"/>
+      <children xsi:type="editmodel:MethodEditModel" name="setId" id="org.apache.lucene.gdata.gom/GOMFeed#setId(Lorg.apache.lucene.gdata.gom.GOMId;)"/>
+      <children xsi:type="editmodel:MethodEditModel" name="getId" id="org.apache.lucene.gdata.gom/GOMFeed#getId()"/>
+      <children xsi:type="editmodel:MethodEditModel" name="getCategories" id="org.apache.lucene.gdata.gom/GOMFeed#getCategories()"/>
+      <children xsi:type="editmodel:MethodEditModel" name="addContributor" id="org.apache.lucene.gdata.gom/GOMFeed#addContributor(Lorg.apache.lucene.gdata.gom.GOMContributor;)"/>
+      <children xsi:type="editmodel:MethodEditModel" name="addCategory" id="org.apache.lucene.gdata.gom/GOMFeed#addCategory(Lorg.apache.lucene.gdata.gom.GOMCategory;)"/>
+      <children xsi:type="editmodel:MethodEditModel" name="getContributor" id="org.apache.lucene.gdata.gom/GOMFeed#getContributor()"/>
+      <children xsi:type="editmodel:MethodEditModel" name="getGenerator" id="org.apache.lucene.gdata.gom/GOMFeed#getGenerator()"/>
+      <children xsi:type="editmodel:MethodEditModel" name="setGenerator" id="org.apache.lucene.gdata.gom/GOMFeed#setGenerator(Lorg.apache.lucene.gdata.gom.GOMGenerator;)"/>
+      <children xsi:type="editmodel:MethodEditModel" name="setLogo" id="org.apache.lucene.gdata.gom/GOMFeed#setLogo(Lorg.apache.lucene.gdata.gom.GOMLogo;)"/>
+      <children xsi:type="editmodel:MethodEditModel" name="getLogo" id="org.apache.lucene.gdata.gom/GOMFeed#getLogo()"/>
+      <children xsi:type="editmodel:MethodEditModel" name="getRights" id="org.apache.lucene.gdata.gom/GOMFeed#getRights()"/>
+      <children xsi:type="editmodel:MethodEditModel" name="getLinks" id="org.apache.lucene.gdata.gom/GOMFeed#getLinks()"/>
+      <children xsi:type="editmodel:MethodEditModel" name="setSubtitle" id="org.apache.lucene.gdata.gom/GOMFeed#setSubtitle(Lorg.apache.lucene.gdata.gom.GOMSubtitle;)"/>
+      <children xsi:type="editmodel:MethodEditModel" name="setIcon" id="org.apache.lucene.gdata.gom/GOMFeed#setIcon(Lorg.apache.lucene.gdata.gom.GOMIcon;)"/>
+      <children xsi:type="editmodel:MethodEditModel" name="getSubtitle" id="org.apache.lucene.gdata.gom/GOMFeed#getSubtitle()"/>
+      <children xsi:type="editmodel:MethodEditModel" name="setRights" id="org.apache.lucene.gdata.gom/GOMFeed#setRights(Lorg.apache.lucene.gdata.gom.GOMRights;)"/>
+      <children xsi:type="editmodel:MethodEditModel" name="getUpdated" id="org.apache.lucene.gdata.gom/GOMFeed#getUpdated()"/>
+      <children xsi:type="editmodel:MethodEditModel" name="setUpdated" id="org.apache.lucene.gdata.gom/GOMFeed#setUpdated(Lorg.apache.lucene.gdata.gom.GOMTime;)"/>
+      <children xsi:type="editmodel:MethodEditModel" name="getTitle" id="org.apache.lucene.gdata.gom/GOMFeed#getTitle()"/>
+      <children xsi:type="editmodel:MethodEditModel" name="getNamespaces" id="org.apache.lucene.gdata.gom/GOMFeed#getNamespaces()"/>
+      <children xsi:type="editmodel:MethodEditModel" name="getIcon" id="org.apache.lucene.gdata.gom/GOMFeed#getIcon()"/>
+      <children xsi:type="editmodel:MethodEditModel" name="setTitle" id="org.apache.lucene.gdata.gom/GOMFeed#setTitle(Lorg.apache.lucene.gdata.gom.GOMTitle;)"/>
+      <children xsi:type="editmodel:MethodEditModel" name="addNamespace" id="org.apache.lucene.gdata.gom/GOMFeed#addNamespace(Lorg.apache.lucene.gdata.gom.core.GOMNamespace;)"/>
+    </children>
+    <children xsi:type="editmodel:CompartmentEditModel"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" autoLocated="true" id="org.apache.lucene.gdata.gom/GOMElement&lt;-org.apache.lucene.gdata.gom/GOMFeed" source="//@children.3" target="//@children.5/@sourceConnections.0" targetEnd="//@children.3/@sourceConnections.0/@children.1" sourceEnd="//@children.3/@sourceConnections.0/@children.0" connectionRouterKind="GeneralizationManhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="106,0" anchorKind="FixedAtEdge" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="58,269"/>
+    </sourceConnections>
+    <sourceConnections xsi:type="editmodel:DependencyEditModel" autoLocated="true" id="org.apache.lucene.gdata.gom/GOMFeed->org.apache.lucene.gdata.gom/GOMEntry" source="//@children.3" target="//@children.5" targetEnd="//@children.3/@sourceConnections.1/@children.2" label="//@children.3/@sourceConnections.1/@children.0" sourceEnd="//@children.3/@sourceConnections.1/@children.1" connectionRouterKind="Manhattan">
+      <children xsi:type="editmodel:WireLabelEditModel" name="«import»" size="29,10" fontInfo="Arial-8-0" anchorKind="MiddlePart"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="214,89" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="0,34"/>
+    </sourceConnections>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" autoLocated="true" id="org.apache.lucene.gdata.gom/GOMXmlEntity&lt;-org.apache.lucene.gdata.gom/GOMFeed" source="//@children.3" target="//@children.4/@sourceConnections.0" targetEnd="//@children.3/@sourceConnections.2/@children.1" sourceEnd="//@children.3/@sourceConnections.2/@children.0" connectionRouterKind="GeneralizationManhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="0,16" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="1,1"/>
+      <bendpoints location="910,525" secondRelativeDimension="141,344" firstRelativeDimension="14,-24"/>
+      <bendpoints location="910,206" secondRelativeDimension="92,56" firstRelativeDimension="48,-342"/>
+      <bendpoints location="879,206" secondRelativeDimension="61,45" firstRelativeDimension="23,-341"/>
+    </sourceConnections>
+    <sourceConnections xsi:type="editmodel:DependencyEditModel" autoLocated="true" id="org.apache.lucene.gdata.gom/GOMFeed->org.apache.lucene.gdata.gom/GOMAuthor" source="//@children.3" target="//@children.2" targetEnd="//@children.3/@sourceConnections.3/@children.2" label="//@children.3/@sourceConnections.3/@children.0" sourceEnd="//@children.3/@sourceConnections.3/@children.1" connectionRouterKind="Manhattan">
+      <children xsi:type="editmodel:WireLabelEditModel" name="«import»" size="29,10" fontInfo="Arial-8-0" anchorKind="MiddlePart"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="0,34" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="72,34"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" showMethodsParameterNames="true" showMethodsParameterKinds="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPrivateAttributes="true" showProtectedAttributes="true" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showProtectedMethods="true" showPublicMethods="true" showPackageMethods="true" showPrivateMethods="true" showStaticMethods="true" showProtectedInnerClasses="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showPrivateInnerClasses="true" showStaticInnerClasses="true" showAssociationMember="true" showMethods="true" showAttributes="true" showLiterals="true"/>
+  </children>
+  <children xsi:type="editmodel:InterfaceEditModel" targetConnections="//@children.7/@sourceConnections.1" name="GOMAttribute" location="50,261" size="108,69" id="org.apache.lucene.gdata.gom/GOMAttribute" runTimeClassModel="">
+    <children xsi:type="editmodel:CompartmentEditModel"/>
+    <children xsi:type="editmodel:CompartmentEditModel"/>
+    <children xsi:type="editmodel:CompartmentEditModel"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" targetConnections="//@children.7/@sourceConnections.0 //@children.1/@sourceConnections.1 //@children.3/@sourceConnections.2 //@children.5/@sourceConnections.1" autoLocated="true" id="org.apache.lucene.gdata.gom/GOMXmlEntity&lt;-org.apache.lucene.gdata.gom/GOMAttribute" source="//@children.4" target="//@children.6" targetEnd="//@children.4/@sourceConnections.0/@children.1" sourceEnd="//@children.4/@sourceConnections.0/@children.0" connectionRouterKind="GeneralizationManhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="54,0" anchorKind="FixedAtEdge" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="85,197" anchorKind="FixedAtEdge"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" showMethodsParameterNames="true" showMethodsParameterKinds="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPrivateAttributes="true" showProtectedAttributes="true" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showProtectedMethods="true" showPublicMethods="true" showPackageMethods="true" showPrivateMethods="true" showStaticMethods="true" showProtectedInnerClasses="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showPrivateInnerClasses="true" showStaticInnerClasses="true" showAssociationMember="true" showMethods="true" showAttributes="true" showLiterals="true"/>
+  </children>
+  <children xsi:type="editmodel:InterfaceEditModel" targetConnections="//@children.3/@sourceConnections.1" name="GOMEntry" location="607,580" size="92,69" id="org.apache.lucene.gdata.gom/GOMEntry" runTimeClassModel="">
+    <children xsi:type="editmodel:CompartmentEditModel"/>
+    <children xsi:type="editmodel:CompartmentEditModel"/>
+    <children xsi:type="editmodel:CompartmentEditModel"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" targetConnections="//@children.3/@sourceConnections.0 //@children.1/@sourceConnections.0 //@children.2/@sourceConnections.0" autoLocated="true" id="org.apache.lucene.gdata.gom/GOMElement&lt;-org.apache.lucene.gdata.gom/GOMEntry" source="//@children.5" target="//@children.7" targetEnd="//@children.5/@sourceConnections.0/@children.1" sourceEnd="//@children.5/@sourceConnections.0/@children.0" connectionRouterKind="GeneralizationManhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="46,0" anchorKind="FixedAtEdge" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="112,269" anchorKind="FixedAtEdge"/>
+    </sourceConnections>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" autoLocated="true" id="org.apache.lucene.gdata.gom/GOMXmlEntity&lt;-org.apache.lucene.gdata.gom/GOMEntry" source="//@children.5" target="//@children.4/@sourceConnections.0" targetEnd="//@children.5/@sourceConnections.1/@children.1" sourceEnd="//@children.5/@sourceConnections.1/@children.0" connectionRouterKind="Manual">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="10,0" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="1,1"/>
+      <bendpoints location="1003,525" secondRelativeDimension="216,344" firstRelativeDimension="0,-24"/>
+      <bendpoints location="1003,206" secondRelativeDimension="185,74" firstRelativeDimension="1,-342"/>
+      <bendpoints location="879,206" secondRelativeDimension="61,45" firstRelativeDimension="-111,-341"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" showMethodsParameterNames="true" showMethodsParameterKinds="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPrivateAttributes="true" showProtectedAttributes="true" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showProtectedMethods="true" showPublicMethods="true" showPackageMethods="true" showPrivateMethods="true" showStaticMethods="true" showProtectedInnerClasses="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showPrivateInnerClasses="true" showStaticInnerClasses="true" showAssociationMember="true" showMethods="true" showAttributes="true" showLiterals="true"/>
+  </children>
+  <children xsi:type="editmodel:InterfaceEditModel" targetConnections="//@children.4/@sourceConnections.0" name="GOMXmlEntity" location="510,0" size="173,197" id="org.apache.lucene.gdata.gom/GOMXmlEntity" runTimeClassModel="setLocalName(Ljava.lang.String;),setTextValue(Ljava.lang.String;),setQName(Ljavax.xml.namespace.QName;),getQname(),getTextValue(),getLocalName()">
+    <children xsi:type="editmodel:CompartmentEditModel"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="150,108">
+      <children xsi:type="editmodel:MethodEditModel" name="getQname" id="org.apache.lucene.gdata.gom/GOMXmlEntity#getQname()"/>
+      <children xsi:type="editmodel:MethodEditModel" name="getTextValue" id="org.apache.lucene.gdata.gom/GOMXmlEntity#getTextValue()"/>
+      <children xsi:type="editmodel:MethodEditModel" name="setQName" id="org.apache.lucene.gdata.gom/GOMXmlEntity#setQName(Ljavax.xml.namespace.QName;)"/>
+      <children xsi:type="editmodel:MethodEditModel" name="setTextValue" id="org.apache.lucene.gdata.gom/GOMXmlEntity#setTextValue(Ljava.lang.String;)"/>
+      <children xsi:type="editmodel:MethodEditModel" name="getLocalName" id="org.apache.lucene.gdata.gom/GOMXmlEntity#getLocalName()"/>
+      <children xsi:type="editmodel:MethodEditModel" name="setLocalName" id="org.apache.lucene.gdata.gom/GOMXmlEntity#setLocalName(Ljava.lang.String;)"/>
+    </children>
+    <children xsi:type="editmodel:CompartmentEditModel"/>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" showMethodsParameterNames="true" showMethodsParameterKinds="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPrivateAttributes="true" showProtectedAttributes="true" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showProtectedMethods="true" showPublicMethods="true" showPackageMethods="true" showPrivateMethods="true" showStaticMethods="true" showProtectedInnerClasses="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showPrivateInnerClasses="true" showStaticInnerClasses="true" showAssociationMember="true" showMethods="true" showLiterals="true"/>
+  </children>
+  <children xsi:type="editmodel:InterfaceEditModel" targetConnections="//@children.0/@sourceConnections.0 //@children.5/@sourceConnections.0" name="GOMElement" location="312,261" size="227,269" id="org.apache.lucene.gdata.gom/GOMElement" runTimeClassModel="getAttributes(),aTOM_NS_URI,addChild(Lorg.apache.lucene.gdata.gom.GOMElement;),aTOM_NS_PREFIX,writeRssOutput(Ljavax.xml.stream.XMLStreamWriter;),getParent(),addAttribute(Lorg.apache.lucene.gdata.gom.GOMAttribute;),getChildren(),writeAtomOutput(Ljavax.xml.stream.XMLStreamWriter;)">
+    <children xsi:type="editmodel:CompartmentEditModel" size="114,36">
+      <children xsi:type="editmodel:AttributeEditModel" name="aTOM_NS_URI" id="org.apache.lucene.gdata.gom/GOMElement#aTOM_NS_URI"/>
+      <children xsi:type="editmodel:AttributeEditModel" name="aTOM_NS_PREFIX" id="org.apache.lucene.gdata.gom/GOMElement#aTOM_NS_PREFIX"/>
+    </children>
+    <children xsi:type="editmodel:CompartmentEditModel" size="204,180">
+      <children xsi:type="editmodel:MethodEditModel" name="addAttribute" id="org.apache.lucene.gdata.gom/GOMElement#addAttribute(Lorg.apache.lucene.gdata.gom.GOMAttribute;)"/>
+      <children xsi:type="editmodel:MethodEditModel" name="addChild" id="org.apache.lucene.gdata.gom/GOMElement#addChild(Lorg.apache.lucene.gdata.gom.GOMElement;)"/>
+      <children xsi:type="editmodel:MethodEditModel" name="getAttributes" id="org.apache.lucene.gdata.gom/GOMElement#getAttributes()"/>
+      <children xsi:type="editmodel:MethodEditModel" name="getChildren" id="org.apache.lucene.gdata.gom/GOMElement#getChildren()"/>
+      <children xsi:type="editmodel:MethodEditModel" name="getParent" id="org.apache.lucene.gdata.gom/GOMElement#getParent()"/>
+      <children xsi:type="editmodel:MethodEditModel" name="writeAtomOutput" id="org.apache.lucene.gdata.gom/GOMElement#writeAtomOutput(Ljavax.xml.stream.XMLStreamWriter;)"/>
+      <children xsi:type="editmodel:MethodEditModel" name="writeRssOutput" id="org.apache.lucene.gdata.gom/GOMElement#writeRssOutput(Ljavax.xml.stream.XMLStreamWriter;)"/>
+    </children>
+    <children xsi:type="editmodel:CompartmentEditModel"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" autoLocated="true" id="org.apache.lucene.gdata.gom/GOMXmlEntity&lt;-org.apache.lucene.gdata.gom/GOMElement" source="//@children.7" target="//@children.4/@sourceConnections.0" targetEnd="//@children.7/@sourceConnections.0/@children.1" sourceEnd="//@children.7/@sourceConnections.0/@children.0" connectionRouterKind="GeneralizationManhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="112,0" anchorKind="FixedAtEdge" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="91,161"/>
+    </sourceConnections>
+    <sourceConnections xsi:type="editmodel:DependencyEditModel" autoLocated="true" id="org.apache.lucene.gdata.gom/GOMElement->org.apache.lucene.gdata.gom/GOMAttribute" source="//@children.7" target="//@children.4" targetEnd="//@children.7/@sourceConnections.1/@children.2" label="//@children.7/@sourceConnections.1/@children.0" sourceEnd="//@children.7/@sourceConnections.1/@children.1" connectionRouterKind="Manhattan">
+      <children xsi:type="editmodel:WireLabelEditModel" name="«import»" size="29,10" fontInfo="Arial-8-0" anchorKind="MiddlePart"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="0,34" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="108,34"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" showMethodsParameterNames="true" showMethodsParameterKinds="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPrivateAttributes="true" showProtectedAttributes="true" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showProtectedMethods="true" showPublicMethods="true" showPackageMethods="true" showPrivateMethods="true" showStaticMethods="true" showProtectedInnerClasses="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showPrivateInnerClasses="true" showStaticInnerClasses="true" showAssociationMember="true" showMethods="true" showAttributes="true" showLiterals="true"/>
+  </children>
+  <diagramOptions xsi:type="options:ClassDiagramOptions" showScope="All" properties="wireOptions=7"/>
+  <boardSetting snapToGeometry="true" gridEnabled="true" gridSpacing="10,10" gridOrigin="0,0" rulerUnit="pixel">
+    <leftRuler/>
+    <topRuler/>
+  </boardSetting>
+  <classDiagramPreferences xsi:type="editmodel:UMLClassDiagramPreference" showMethodsParameterTypes="true" showMethodsReturnType="true" showMethodsParameterNames="true" showMethodsParameterKinds="true" attributeSorter="Natural" methodSorter="Natural" showClassStereotype="true" showPackageStereotype="true" innerClassSorter="Natural" showPrivateAttributes="true" showProtectedAttributes="true" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showProtectedMethods="true" showPublicMethods="true" showPackageMethods="true" showPrivateMethods="true" showStaticMethods="true" showProtectedInnerClasses="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showPrivateInnerClasses="true" showStaticInnerClasses="true" showInterfaceStereotype="true" showAssociationMember="true" showMethods="true" showAttributes="true" showLiterlas="true"/>
+</editmodel:ClassDiagramEditModel>