mirror of https://github.com/apache/lucene.git
Initial Revision GData Object Model
GOM is a GData object representation for render, parse and manipulate GData Feeds (RSS/ATOM) git-svn-id: https://svn.apache.org/repos/asf/lucene/java/trunk@486627 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
9cc3210dd0
commit
3bd4a16711
|
@ -0,0 +1,40 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
/**
|
||||
* Describes an abstraction of a mime-type used to define the content of a
|
||||
* atom:content element. This could be every possible mimetype but has to match
|
||||
* this ".+/.+" Pattern.
|
||||
*
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public enum AtomMediaType {
|
||||
/**
|
||||
* A xml media type (mime-type)
|
||||
*/
|
||||
XML,
|
||||
/**
|
||||
*A text but no xml media type (mime-type)
|
||||
*/
|
||||
TEXT,
|
||||
/**
|
||||
* A binary media type (mime-type)
|
||||
*/
|
||||
BINARY
|
||||
}
|
|
@ -0,0 +1,45 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
/**
|
||||
* Atom e.g. feed element can contain text, html and xhtml content as character
|
||||
* values
|
||||
*
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public enum ContentType {
|
||||
/**
|
||||
* GOM content type text
|
||||
*/
|
||||
TEXT,
|
||||
/**
|
||||
* GOM content type XHTML
|
||||
*/
|
||||
XHTML,
|
||||
/**
|
||||
* GOM content type HTML
|
||||
*/
|
||||
HTML,
|
||||
|
||||
/**
|
||||
* GOM atom media type
|
||||
* @see AtomMediaType
|
||||
*/
|
||||
ATOM_MEDIA_TYPE
|
||||
}
|
|
@ -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;
|
||||
|
||||
/**
|
||||
* This class is a object representation of a XML Attribute used in the
|
||||
* GO-Model.
|
||||
*
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public interface GOMAttribute extends GOMXmlEntity {
|
||||
|
||||
/**
|
||||
*
|
||||
* @return <code>true</code> if and only if this attribute has the default
|
||||
* namespace, otherwise <code>false</code>
|
||||
*/
|
||||
public abstract boolean hasDefaultNamespace();
|
||||
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
/**
|
||||
* GOMAuthor elmement used in feed and entries as a representation of a atom:author element.
|
||||
* The "atom:author" element is a Person construct that indicates the author of the entry or feed.
|
||||
* <pre>
|
||||
* atomAuthor =
|
||||
* element atom:author { atomPersonConstruct }
|
||||
* </pre>
|
||||
* @see org.apache.lucene.gdata.gom.GOMPerson
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public interface GOMAuthor extends GOMPerson {
|
||||
/**
|
||||
* Atom 1.0 local name for the xml element
|
||||
*/
|
||||
public static final String LOCALNAME = "author";
|
||||
|
||||
}
|
|
@ -0,0 +1,100 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
/**
|
||||
*
|
||||
* GOMCategory type<br>
|
||||
* <p>
|
||||
* The <b>"category"</b> element conveys information about a category
|
||||
* associated with an entry or feed. This specification assigns no meaning to
|
||||
* the content (if any) of this element.
|
||||
* </p>
|
||||
* <p>
|
||||
* RelaxNG Schema:
|
||||
* </p>
|
||||
*
|
||||
* <pre>
|
||||
* atomCategory =
|
||||
* element atom:category {
|
||||
* atomCommonAttributes,
|
||||
* attribute term { text },
|
||||
* attribute scheme { atomUri }?,
|
||||
* attribute label { text }?,
|
||||
* undefinedContent
|
||||
* }
|
||||
* </pre>
|
||||
*
|
||||
*
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public interface GOMCategory extends GOMElement {
|
||||
/**
|
||||
* Atom local name for the xml element
|
||||
*/
|
||||
public static final String LOCALNAME = "category";
|
||||
|
||||
/**
|
||||
* Attribute name (attribute term { text })
|
||||
*/
|
||||
public static final String TERM_ATTRIBUTE = "term";
|
||||
|
||||
/**
|
||||
* Attribute name (attribute label { text })
|
||||
*/
|
||||
public static final String LABLE_ATTRIBUTE = "label";
|
||||
|
||||
/**
|
||||
* Attribute name (attribute scheme { atomUri })
|
||||
*/
|
||||
public static final String SCHEME_ATTRIBUTE = "scheme";
|
||||
|
||||
/**
|
||||
* @param aTerm -
|
||||
* the attribute term { text }
|
||||
*/
|
||||
public abstract void setTerm(String aTerm);
|
||||
|
||||
/**
|
||||
* @param aLabel -
|
||||
* the attribute lable { text }
|
||||
*/
|
||||
public abstract void setLabel(String aLabel);
|
||||
|
||||
/**
|
||||
* @param aScheme -
|
||||
* the attribute scheme { atomUri }
|
||||
*/
|
||||
public abstract void setScheme(String aScheme);
|
||||
|
||||
/**
|
||||
* @return the attribute term { text }
|
||||
*/
|
||||
public abstract String getTerm();
|
||||
|
||||
/**
|
||||
* @return the attribute scheme { atomUri }
|
||||
*/
|
||||
public abstract String getScheme();
|
||||
|
||||
/**
|
||||
* @return the attribute lable { text }
|
||||
*/
|
||||
public abstract String getLabel();
|
||||
|
||||
}
|
|
@ -0,0 +1,99 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* GOMContent represents the atom:content element.
|
||||
* </p>
|
||||
* The "atom:content" element either contains or links to the content of the
|
||||
* entry. The content of atom:content is Language-Sensitive.
|
||||
*
|
||||
* <pre>
|
||||
* atomInlineTextContent =
|
||||
* element atom:content {
|
||||
* atomCommonAttributes,
|
||||
* attribute type { "text" | "html" }?,
|
||||
* (text)*
|
||||
* }
|
||||
*
|
||||
* atomInlineXHTMLContent =
|
||||
* element atom:content {
|
||||
* atomCommonAttributes,
|
||||
* attribute type { "xhtml" },
|
||||
* xhtmlDiv
|
||||
* }
|
||||
*
|
||||
* atomInlineOtherContent =
|
||||
* element atom:content {
|
||||
* atomCommonAttributes,
|
||||
* attribute type { atomMediaType }?,
|
||||
* (text|anyElement)*
|
||||
* }
|
||||
*
|
||||
*
|
||||
* atomOutOfLineContent =
|
||||
* element atom:content {
|
||||
* atomCommonAttributes,
|
||||
* attribute type { atomMediaType }?,
|
||||
* attribute src { atomUri },
|
||||
* empty
|
||||
* }
|
||||
*
|
||||
* atomContent = atomInlineTextContent
|
||||
* | atomInlineXHTMLContent
|
||||
*
|
||||
* | atomInlineOtherContent
|
||||
* | atomOutOfLineContent
|
||||
* </pre>
|
||||
*
|
||||
* @author Simon Willnauer
|
||||
* @see org.apache.lucene.gdata.gom.GOMTextConstruct
|
||||
*
|
||||
*
|
||||
*/
|
||||
public interface GOMContent extends GOMTextConstruct {
|
||||
/**
|
||||
* Atom local name for the xml element
|
||||
*/
|
||||
public static final String LOCALNAME = "content";
|
||||
/**
|
||||
* RSS local name for the xml element
|
||||
*/
|
||||
public static final String LOCAL_NAME_RSS = "description";
|
||||
/**
|
||||
* The src attribute value
|
||||
* @return - the value of the src attribute
|
||||
*/
|
||||
public abstract String getSrc();
|
||||
/**
|
||||
* The src attribute value
|
||||
* @param aSrc - the src attribute value to set
|
||||
*/
|
||||
public abstract void setSrc(String aSrc);
|
||||
/**
|
||||
* The contents abstract media type
|
||||
* @param aMediaType -
|
||||
*/
|
||||
public abstract void setAtomMediaType(AtomMediaType aMediaType);
|
||||
|
||||
/**
|
||||
* @return - the atom media type of the content element
|
||||
* @see AtomMediaType
|
||||
*/
|
||||
public abstract AtomMediaType getAtomMediaType();
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
/**
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* 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;
|
||||
|
||||
/**
|
||||
* The "atom:contributor" element is a Person construct that indicates a person
|
||||
* or other entity who contributed to the entry or feed.
|
||||
*
|
||||
* <pre>
|
||||
* atomContributor = element atom:contributor { atomPersonConstruct }
|
||||
* </pre>
|
||||
*
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public interface GOMContributor extends GOMPerson {
|
||||
/**
|
||||
* Atom 1.0 local name for the xml element
|
||||
*/
|
||||
public static final String LOCALNAME = "contributor";
|
||||
}
|
|
@ -0,0 +1,77 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
*
|
||||
* <P>
|
||||
* GOMDateConstruct is a base interface for several concrete DateConstruct
|
||||
* implementations like {@link org.apache.lucene.gdata.gom.GOMUpdated} or
|
||||
* {@link org.apache.lucene.gdata.gom.GOMPublished}
|
||||
* </p>
|
||||
* <p>
|
||||
* A Date construct is an element whose content MUST conform to the "date-time"
|
||||
* production in [RFC3339]. In addition, an uppercase "T" character MUST be used
|
||||
* to separate date and time, and an uppercase "Z" character MUST be present in
|
||||
* the absence of a numeric time zone offset.
|
||||
*
|
||||
* <pre>
|
||||
* atomDateConstruct = atomCommonAttributes, xsd:dateTime
|
||||
* </pre>
|
||||
*
|
||||
* Such date values happen to be compatible with the following specifications:
|
||||
* [ISO.8601.1988], [W3C.NOTE-datetime-19980827], and
|
||||
* [W3C.REC-xmlschema-2-20041028].
|
||||
* </p>
|
||||
* <p>
|
||||
* Example Date constructs:
|
||||
*
|
||||
* <pre>
|
||||
* <updated>2003-12-13T18:30:02Z</updated>
|
||||
*
|
||||
* <updated>2003-12-13T18:30:02.25Z</updated>
|
||||
* <updated>2003-12-13T18:30:02+01:00</updated>
|
||||
* <updated>2003-12-13T18:30:02.25+01:00</updated>
|
||||
* </pre>
|
||||
*
|
||||
* Date values SHOULD be as accurate as possible. For example, it would be
|
||||
* generally inappropriate for a publishing system to apply the same timestamp
|
||||
* to several entries that were published during the course of a single day.
|
||||
* </p>
|
||||
*
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
* @see org.apache.lucene.gdata.gom.GOMUpdated
|
||||
* @see org.apache.lucene.gdata.gom.GOMPublished
|
||||
*/
|
||||
public abstract interface GOMDateConstruct extends GOMElement {
|
||||
/**
|
||||
*
|
||||
* @param date -
|
||||
* the date to set
|
||||
*/
|
||||
public abstract void setDate(Date date);
|
||||
|
||||
/**
|
||||
*
|
||||
* @return - the date object, if no date has been set this method will
|
||||
* return a <code>new Date(0)</code> date object
|
||||
*/
|
||||
public abstract Date getDate();
|
||||
}
|
|
@ -0,0 +1,110 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* GOMDocument acts as a container for GOMElements to render the containing
|
||||
* GOMElement as a valid xml document. This class renderes the
|
||||
*
|
||||
* <pre>
|
||||
* <?xml version="1.0" encoding="UTF-8"?>
|
||||
* </pre>
|
||||
*
|
||||
* header to the outputstream before the containing element will be rendered.
|
||||
* </p>
|
||||
*
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
* @param <T>
|
||||
*/
|
||||
public interface GOMDocument<T extends GOMElement> {
|
||||
/**
|
||||
* setter for the root element of the xml e.g GOMDocument
|
||||
*
|
||||
* @param aRootElement -
|
||||
* the root element to set
|
||||
*/
|
||||
public abstract void setRootElement(T aRootElement);
|
||||
|
||||
/**
|
||||
* Getter for the root element of the xml e.g GOMDocument
|
||||
*
|
||||
* @return - the root elmenent
|
||||
*/
|
||||
public abstract T getRootElement();
|
||||
|
||||
/**
|
||||
* Sets the xml version
|
||||
*
|
||||
* @param aVersion -
|
||||
* the version string
|
||||
*/
|
||||
public abstract void setVersion(String aVersion);
|
||||
|
||||
/**
|
||||
* Gets the xml version
|
||||
*
|
||||
* @return - the xml version string
|
||||
*/
|
||||
public abstract String getVersion();
|
||||
|
||||
/**
|
||||
* Gets the xml charset encoding
|
||||
*
|
||||
* @return - the specified char encoding
|
||||
*/
|
||||
public abstract String getCharacterEncoding();
|
||||
|
||||
/**
|
||||
* Sets the xml charset encoding
|
||||
*
|
||||
* @param aEncoding -
|
||||
* the charset encoding to set
|
||||
*/
|
||||
public abstract void setCharacterEncoding(String aEncoding);
|
||||
|
||||
/**
|
||||
* Generates a complete xml document starting with the header followed by
|
||||
* the output of the specified root element in the ATOM 1.0 formate.
|
||||
*
|
||||
* @param aStreamWriter -
|
||||
* the {@link GOMOutputWriter} implementation to write the output
|
||||
* @throws XMLStreamException -
|
||||
* if the {@link GOMOutputWriter} throws an exception
|
||||
*/
|
||||
public abstract void writeAtomOutput(final GOMOutputWriter aStreamWriter)
|
||||
throws XMLStreamException;
|
||||
|
||||
/**
|
||||
*
|
||||
* Generates a complete xml document starting with the header followed by
|
||||
* the output of the specified root element in the RSS 2.0 formate.
|
||||
*
|
||||
* @param aStreamWriter -
|
||||
* the {@link GOMOutputWriter} implementation to write the output
|
||||
* @throws XMLStreamException -
|
||||
* if the {@link GOMOutputWriter} throws an exception
|
||||
*/
|
||||
public abstract void writeRssOutput(final GOMOutputWriter aStreamWriter)
|
||||
throws XMLStreamException;
|
||||
|
||||
}
|
|
@ -0,0 +1,92 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import org.apache.lucene.gdata.gom.core.AtomParser;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;
|
||||
|
||||
/**
|
||||
* Abstract interface which should be assignable from all classes representing
|
||||
* xml elements within the GData Object Model.
|
||||
*
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public abstract interface GOMElement extends GOMXmlEntity, AtomParser {
|
||||
/**
|
||||
* <code>xml:lang</code> attribute localpart
|
||||
*/
|
||||
public static final String XML_LANG = "lang";
|
||||
|
||||
/**
|
||||
* <code>xml:base</code> attribute localpart
|
||||
*/
|
||||
public static final String XML_BASE = "base";
|
||||
|
||||
/**
|
||||
*
|
||||
* @return the xml:base attribute value
|
||||
*/
|
||||
public abstract String getXmlBase();
|
||||
|
||||
/**
|
||||
*
|
||||
* @return the xml:lang attribute value
|
||||
*/
|
||||
public abstract String getXmlLang();
|
||||
|
||||
/**
|
||||
* Generates the xml element represented by this class in the ATOM 1.0
|
||||
* formate.
|
||||
*
|
||||
* @param aStreamWriter -
|
||||
* the {@link GOMOutputWriter} implementation to write the output
|
||||
* @throws XMLStreamException -
|
||||
* if the {@link GOMOutputWriter} throws an exception
|
||||
*/
|
||||
public abstract void writeAtomOutput(final GOMOutputWriter aStreamWriter)
|
||||
throws XMLStreamException;
|
||||
|
||||
/**
|
||||
* Generates the xml element represented by this class in the RSS 2.0
|
||||
* formate.
|
||||
*
|
||||
* @param aStreamWriter -
|
||||
* the {@link GOMOutputWriter} implementation to write the output
|
||||
* @throws XMLStreamException -
|
||||
* if the {@link GOMOutputWriter} throws an exception
|
||||
*/
|
||||
public abstract void writeRssOutput(final GOMOutputWriter aStreamWriter)
|
||||
throws XMLStreamException;
|
||||
|
||||
/**
|
||||
* Generates the xml element represented by this class in the RSS 2.0
|
||||
* formate using the parameter rssName as the element local name
|
||||
*
|
||||
* @param rssName -
|
||||
* the local name to render the element
|
||||
* @param aStreamWriter -
|
||||
* the {@link GOMOutputWriter} implementation to write the output
|
||||
* @throws XMLStreamException -
|
||||
* if the {@link GOMOutputWriter} throws an exception
|
||||
*/
|
||||
public abstract void writeRssOutput(final GOMOutputWriter aStreamWriter,
|
||||
String rssName) throws XMLStreamException;
|
||||
|
||||
}
|
|
@ -0,0 +1,255 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* <p>
|
||||
* The GOMEntry class represents a "atom:entry" element in the GData Object
|
||||
* Model.
|
||||
* </p>
|
||||
* <p>
|
||||
* The "atom:entry" element represents an individual entry, acting as a
|
||||
* container for metadata and data associated with the entry. This element can
|
||||
* appear as a child of the atom:feed element, or it can appear as the document
|
||||
* (i.e., top-level) element of a stand-alone Atom Entry Document.
|
||||
* </p>
|
||||
* <p>
|
||||
* RelaxNG Schema:
|
||||
* </p>
|
||||
*
|
||||
* <pre>
|
||||
* atomEntry =
|
||||
* element atom:entry {
|
||||
* atomCommonAttributes,
|
||||
* ( atomAuthor*
|
||||
* & atomCategory*
|
||||
* & atomContent?
|
||||
* & atomContributor*
|
||||
* & atomId
|
||||
* & atomLink*
|
||||
* & atomPublished?
|
||||
* & atomRights?
|
||||
* & atomSource?
|
||||
* & atomSummary?
|
||||
* & atomTitle
|
||||
* & atomUpdated
|
||||
* & extensionElement*)
|
||||
* }
|
||||
* </pre>
|
||||
*
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public interface GOMEntry extends GOMXmlEntity, GOMElement, GOMExtensible {
|
||||
/**
|
||||
* Atom 1.0 local name for the xml element
|
||||
*/
|
||||
public static final String LOCALNAME = "entry";
|
||||
|
||||
/**
|
||||
* RSS 2.0 local name for the xml element
|
||||
*/
|
||||
public static final String LOCALNAME_RSS = "item";
|
||||
|
||||
/**
|
||||
* @param aAuthor -
|
||||
* a author to add
|
||||
* @see GOMAuthor
|
||||
*/
|
||||
public abstract void addAuthor(GOMAuthor aAuthor);
|
||||
|
||||
/**
|
||||
* @param aCategory -
|
||||
* a category to add
|
||||
* @see GOMCategory
|
||||
*/
|
||||
public abstract void addCategory(GOMCategory aCategory);
|
||||
|
||||
/**
|
||||
* @param aContributor -
|
||||
* a contributor to add
|
||||
* @see GOMContributor
|
||||
*/
|
||||
public abstract void addContributor(GOMContributor aContributor);
|
||||
|
||||
/**
|
||||
* @param aLink -
|
||||
* a link to add
|
||||
* @see GOMLink
|
||||
*/
|
||||
public abstract void addLink(GOMLink aLink);
|
||||
|
||||
/**
|
||||
* @return - the entry author
|
||||
* @see GOMAuthor
|
||||
*/
|
||||
public abstract List<GOMAuthor> getAuthors();
|
||||
|
||||
/**
|
||||
*
|
||||
* This method returns all categories and will never return<code>null</code>
|
||||
*
|
||||
* @return - a list of categories
|
||||
* @see GOMCategory
|
||||
*/
|
||||
public abstract List<GOMCategory> getCategories();
|
||||
|
||||
/**
|
||||
*
|
||||
* This method returns all contributors and will never return<code>null</code>
|
||||
*
|
||||
* @return - a list of contributors
|
||||
* @see GOMContributor
|
||||
*/
|
||||
public abstract List<GOMContributor> getContributor();
|
||||
|
||||
/**
|
||||
* @return - the feed id
|
||||
* @see GOMId
|
||||
*/
|
||||
public abstract GOMId getId();
|
||||
|
||||
/**
|
||||
* @param aId -
|
||||
* the entry id
|
||||
* @see GOMId
|
||||
*/
|
||||
public abstract void setId(GOMId aId);
|
||||
|
||||
/**
|
||||
* @return - the entry rights
|
||||
* @see GOMRights
|
||||
*/
|
||||
public abstract GOMRights getRights();
|
||||
|
||||
/**
|
||||
* @param aRights -
|
||||
* the GOMRights to set
|
||||
* @see GOMRights
|
||||
*/
|
||||
public abstract void setRights(GOMRights aRights);
|
||||
|
||||
/**
|
||||
* @return - the entries title
|
||||
* @see GOMTitle
|
||||
*/
|
||||
public abstract GOMTitle getTitle();
|
||||
|
||||
/**
|
||||
* @param aTitle -
|
||||
* the title to set
|
||||
* @see GOMTitle
|
||||
*/
|
||||
public abstract void setTitle(GOMTitle aTitle);
|
||||
|
||||
/**
|
||||
* @return - the last updated element
|
||||
* @see GOMUpdated
|
||||
*/
|
||||
public abstract GOMUpdated getUpdated();
|
||||
|
||||
/**
|
||||
* @param aUpdated -
|
||||
* the updated element to set
|
||||
* @see GOMUpdated
|
||||
*/
|
||||
public abstract void setUpdated(GOMUpdated aUpdated);
|
||||
|
||||
/**
|
||||
*
|
||||
* This method returns all links and will never return<code>null</code>
|
||||
*
|
||||
* @return - a list of links
|
||||
* @see GOMLink
|
||||
*/
|
||||
public abstract List<GOMLink> getLinks();
|
||||
|
||||
/**
|
||||
* @param aSummary -
|
||||
* a summary to set
|
||||
* @see GOMSummary
|
||||
*/
|
||||
public abstract void setSummary(GOMSummary aSummary);
|
||||
|
||||
/**
|
||||
* @return - the summary
|
||||
* @see GOMSummary
|
||||
*/
|
||||
public abstract GOMSummary getSummary();
|
||||
|
||||
/**
|
||||
* @param aSource -
|
||||
* the source to set
|
||||
* @see GOMSource
|
||||
*/
|
||||
public abstract void setSource(GOMSource aSource);
|
||||
|
||||
/**
|
||||
* @return - the entry source
|
||||
* @see GOMSource
|
||||
*/
|
||||
public abstract GOMSource getSource();
|
||||
|
||||
/**
|
||||
* @param aPublished -
|
||||
* the published element to set
|
||||
* @see GOMPublished
|
||||
*/
|
||||
public abstract void setPublished(GOMPublished aPublished);
|
||||
|
||||
/**
|
||||
* @return - the published element
|
||||
* @see GOMPublished
|
||||
*/
|
||||
public abstract GOMPublished getPublished();
|
||||
|
||||
/**
|
||||
* @return - the content element
|
||||
* @see GOMContent
|
||||
*/
|
||||
public abstract GOMContent getContent();
|
||||
|
||||
/**
|
||||
* @param content -
|
||||
* the content to set
|
||||
* @see GOMContent
|
||||
*/
|
||||
public abstract void setContent(GOMContent content);
|
||||
|
||||
/**
|
||||
* @param aNamespace -
|
||||
* a Namespace to add
|
||||
* @see GOMNamespace
|
||||
*/
|
||||
public abstract void addNamespace(GOMNamespace aNamespace);
|
||||
|
||||
/**
|
||||
* @return - list of all namespaces - will never be null
|
||||
* @see GOMNamespace
|
||||
*/
|
||||
public abstract List<GOMNamespace> getNamespaces();
|
||||
|
||||
/**
|
||||
* @return - the default namespace
|
||||
* @see GOMNamespace
|
||||
*/
|
||||
public abstract GOMNamespace getDefaultNamespace();
|
||||
|
||||
}
|
|
@ -0,0 +1,55 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.lucene.gdata.gom.core.extension.GOMExtensionFactory;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* The Gdata Object Model describes an abstract object model for the gdata
|
||||
* protocol. GData is supposed to be very flexible and extensible. Users should
|
||||
* be able to extend {@link org.apache.lucene.gdata.gom.GOMFeed} and
|
||||
* {@link org.apache.lucene.gdata.gom.GOMEntry} elements to create extensions
|
||||
* and custom classes for their own model.
|
||||
* </p>
|
||||
*
|
||||
* <p>
|
||||
* This interface describes the extensible GOM entities.
|
||||
* </p>
|
||||
*
|
||||
* @author Simon Willnauer
|
||||
* @see org.apache.lucene.gdata.gom.GOMFeed
|
||||
* @see org.apache.lucene.gdata.gom.GOMEntry
|
||||
*
|
||||
*/
|
||||
public interface GOMExtensible {
|
||||
//TODO add setter!
|
||||
//TODO add how to
|
||||
/**
|
||||
* @return - a list of all extensions specified to the extended element
|
||||
*/
|
||||
public List<GOMExtension> getExtensions();
|
||||
|
||||
/**
|
||||
*
|
||||
* @param factory - the extension factory to set
|
||||
*/
|
||||
public void setExtensionFactory(GOMExtensionFactory factory);
|
||||
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
/**
|
||||
* The GData Object Model is like the Google Data Api highly extensible and
|
||||
* offers a lot of base classes to extend as a {@link GOMExtension}. All
|
||||
* extensions returned by
|
||||
* {@link org.apache.lucene.gdata.gom.core.extension.GOMExtensionFactory#canHandleExtensionElement(QName)}
|
||||
* must implement this interface. <br>
|
||||
* GOM extensions can either be created via the
|
||||
* {@link org.apache.lucene.gdata.gom.core.extension.GOMExtensionFactory} or by
|
||||
* subclassing either {@link org.apache.lucene.gdata.gom.GOMFeed} or
|
||||
* {@link org.apache.lucene.gdata.gom.GOMEntry}.
|
||||
*
|
||||
* @author Simon Willnauer
|
||||
* @see org.apache.lucene.gdata.gom.GOMExtensible
|
||||
* @see org.apache.lucene.gdata.gom.core.extension.GOMExtensionFactory
|
||||
*/
|
||||
public interface GOMExtension extends GOMXmlEntity, GOMElement {
|
||||
|
||||
}
|
|
@ -0,0 +1,130 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Class representing the "atom:feed" element. The "atom:feed" element is the
|
||||
* document (i.e., top-level) element of an Atom Feed Document, acting as a
|
||||
* container for metadata and data associated with the feed. Its element
|
||||
* children consist of metadata elements followed by zero or more atom:entry
|
||||
* child elements.
|
||||
*
|
||||
* <pre>
|
||||
* atom:feed {
|
||||
* atomCommonAttributes,
|
||||
* (atomAuthor* & atomCategory* &
|
||||
* atomContributor* &
|
||||
* atomGenerator? & atomIcon? &
|
||||
* atomId &
|
||||
* atomLink* &
|
||||
* atomLogo? &
|
||||
* atomRights? &
|
||||
* atomSubtitle? &
|
||||
* atomTitle &
|
||||
* atomUpdated &
|
||||
* extensionElement*),
|
||||
* atomEntry* }
|
||||
* </pre>
|
||||
*
|
||||
*
|
||||
* @author Simon Willnauer
|
||||
* @see org.apache.lucene.gdata.gom.GOMExtensible
|
||||
* @see org.apache.lucene.gdata.gom.GOMExtension
|
||||
* @see org.apache.lucene.gdata.gom.GOMDocument
|
||||
*/
|
||||
public interface GOMFeed extends GOMSource, GOMExtensible {
|
||||
/**
|
||||
* Atom local name for the xml element
|
||||
*/
|
||||
public static final String LOCALNAME = "feed";
|
||||
|
||||
/**
|
||||
* RSS local name for the xml element
|
||||
*/
|
||||
public static final String LOCALNAME_RSS = "rss";
|
||||
|
||||
/**
|
||||
* RSS channel localname as Rss starts with
|
||||
*
|
||||
* <pre>
|
||||
* <rss><channel>
|
||||
* </pre>
|
||||
*/
|
||||
public static final String RSS_CHANNEL_ELEMENT_NAME = "channel";
|
||||
|
||||
/**
|
||||
* this class can contain namespaces which will be rendered into the start
|
||||
* element.
|
||||
*
|
||||
* <pre>
|
||||
* <feed xmlns:myNs="someNamespace"></feed>
|
||||
* </pre>
|
||||
*
|
||||
* @param aNamespace -
|
||||
* a namespace to add
|
||||
*/
|
||||
public void addNamespace(GOMNamespace aNamespace);
|
||||
|
||||
/**
|
||||
* @return - all declared namespaces, excluding the default namespace, this
|
||||
* method will never return <code>null</code>.
|
||||
* @see GOMFeed#getDefaultNamespace()
|
||||
*/
|
||||
public List<GOMNamespace> getNamespaces();
|
||||
|
||||
/**
|
||||
*
|
||||
* @return - a list of added entries, this method will never return
|
||||
* <code>null</code>.
|
||||
*/
|
||||
public List<GOMEntry> getEntries();
|
||||
|
||||
/**
|
||||
* @return - the OpenSearch namespace element <i>itemsPerPage</i> text
|
||||
* value.
|
||||
*/
|
||||
public int getItemsPerPage();
|
||||
|
||||
/**
|
||||
* @return - the OpenSearch namespace element <i>startIndex</i> text value.
|
||||
*/
|
||||
public int getStartIndex();
|
||||
|
||||
/**
|
||||
* @param aIndex -
|
||||
* the OpenSearch namespace element <i>startIndex</i> text value
|
||||
* as an integer.
|
||||
*/
|
||||
public void setStartIndex(int aIndex);
|
||||
|
||||
/**
|
||||
* @param aInt -
|
||||
* the OpenSearch namespace element <i>itemsPerPage</i> text
|
||||
* value as an integer.
|
||||
*/
|
||||
public void setItemsPerPage(int aInt);
|
||||
|
||||
/**
|
||||
*
|
||||
* @return the default namespace - this will always be
|
||||
* {@link GOMNamespace#ATOM_NAMESPACE}
|
||||
*/
|
||||
public GOMNamespace getDefaultNamespace();
|
||||
|
||||
}
|
|
@ -0,0 +1,70 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
/**
|
||||
* Class representing the "atom:generator" element. The "atom:generator"
|
||||
* element's content identifies the agent used to generate a feed, for debugging
|
||||
* and other purposes.
|
||||
*
|
||||
* <pre>
|
||||
* atomGenerator = element atom:generator {
|
||||
* atomCommonAttributes,
|
||||
* attribute uri { atomUri }?,
|
||||
* attribute version { text }?,
|
||||
* text
|
||||
* }
|
||||
* </pre>
|
||||
*
|
||||
*
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public interface GOMGenerator extends GOMElement {
|
||||
/**
|
||||
* Atom local name for the xml element
|
||||
*/
|
||||
public static final String LOCALNAME = "generator";
|
||||
|
||||
/**
|
||||
* Sets the the atom:generator <i>uri</i> attribute value
|
||||
*
|
||||
* @param uri -
|
||||
* the generator <i>uri</i> attribute value to set
|
||||
*/
|
||||
public void setUri(String uri);
|
||||
|
||||
/**
|
||||
* Sets the the atom:generator <i>version</i> attribute value
|
||||
*
|
||||
* @param version -
|
||||
* the version value to set
|
||||
*/
|
||||
public void setGeneratorVersion(String version);
|
||||
|
||||
/**
|
||||
*
|
||||
* @return - the atom:generator <i>version</i> attribute value
|
||||
*/
|
||||
public String getGeneratorVersion();
|
||||
|
||||
/**
|
||||
*
|
||||
* @return - the atom:generator <i>uri</i> attribute value
|
||||
*/
|
||||
public String getUri();
|
||||
}
|
|
@ -0,0 +1,41 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
/**
|
||||
*
|
||||
* Simple atom:icon element class. The "atom:icon" element's content is an IRI
|
||||
* reference [RFC3987] that identifies an image that provides iconic visual
|
||||
* identification for a feed.
|
||||
*
|
||||
* <pre>
|
||||
* atomIcon = element atom:icon {
|
||||
* atomCommonAttributes,
|
||||
* (atomUri)
|
||||
* }
|
||||
* </pre>
|
||||
*
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public interface GOMIcon extends GOMElement {
|
||||
/**
|
||||
* Atom local name for the xml element
|
||||
*/
|
||||
String LOCALNAME = "icon";
|
||||
|
||||
}
|
|
@ -0,0 +1,45 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
/**
|
||||
*
|
||||
* The "atom:id" element conveys a permanent, universally unique identifier for
|
||||
* an entry or feed.
|
||||
*
|
||||
* <pre>
|
||||
* atomId = element atom:id {
|
||||
* atomCommonAttributes,
|
||||
* (atomUri)
|
||||
* }
|
||||
* </pre>
|
||||
*
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public interface GOMId extends GOMElement {
|
||||
/**
|
||||
* Atom local name for the xml element
|
||||
*/
|
||||
public static final String LOCALNAME = "id";
|
||||
|
||||
/**
|
||||
* RSS local name for the xml element
|
||||
*/
|
||||
public static final String LOCALNAME_RSS = "uid";
|
||||
|
||||
}
|
|
@ -0,0 +1,113 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
/**
|
||||
* The "atom:link" element defines a reference from an entry or feed to a Web
|
||||
* resource. This specification assigns no meaning to the content (if any) of
|
||||
* this element.
|
||||
*
|
||||
* <pre>
|
||||
* atomLink =
|
||||
* element atom:link {
|
||||
* atomCommonAttributes,
|
||||
* attribute href { atomUri },
|
||||
* attribute rel { atomNCName | atomUri }?,
|
||||
* attribute type { atomMediaType }?,
|
||||
* attribute hreflang { atomLanguageTag }?,
|
||||
* attribute title { text }?,
|
||||
* attribute length { text }?,
|
||||
* undefinedContent
|
||||
* }
|
||||
* </pre>
|
||||
*
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public interface GOMLink extends GOMElement {
|
||||
/**
|
||||
* Atom local name for the xml element
|
||||
*/
|
||||
public static final String LOCALNAME = "link";
|
||||
|
||||
/**
|
||||
* @return - the href attribute value of the element link
|
||||
*/
|
||||
public String getHref();
|
||||
|
||||
/**
|
||||
* @param aHref -
|
||||
* the href attribute value of the element link to set.
|
||||
*/
|
||||
public void setHref(String aHref);
|
||||
|
||||
/**
|
||||
* @return the hreflang attribute value of the element link
|
||||
*/
|
||||
public String getHrefLang();
|
||||
|
||||
/**
|
||||
* @param aHrefLang -
|
||||
* the hreflang attribute value of the element link to set.
|
||||
*/
|
||||
public void setHrefLang(String aHrefLang);
|
||||
|
||||
/**
|
||||
* @return - the length attribute value of the element link.
|
||||
*/
|
||||
public Integer getLength();
|
||||
|
||||
/**
|
||||
* @param aLength -
|
||||
* the length attribute value of the element link to set.
|
||||
*/
|
||||
public void setLength(Integer aLength);
|
||||
|
||||
/**
|
||||
* @return - the rel attribute value of the element link.
|
||||
*/
|
||||
public String getRel();
|
||||
|
||||
/**
|
||||
* @param aRel -
|
||||
* the rel attribute value of the element link to set
|
||||
*/
|
||||
public void setRel(String aRel);
|
||||
|
||||
/**
|
||||
* @return - the title attribute value of the element link.
|
||||
*/
|
||||
public String getTitle();
|
||||
|
||||
/**
|
||||
* @param aTitle -
|
||||
* the title attribute value of the element link to set
|
||||
*/
|
||||
public void setTitle(String aTitle);
|
||||
|
||||
/**
|
||||
* @return - the type attribute value of the element link.
|
||||
*/
|
||||
public String getType();
|
||||
|
||||
/**
|
||||
* @param aType -
|
||||
* the type attribute value of the element link.
|
||||
*/
|
||||
public void setType(String aType);
|
||||
|
||||
}
|
|
@ -0,0 +1,42 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import org.apache.lucene.gdata.gom.GOMElement;
|
||||
|
||||
// TODO add descrition
|
||||
/**
|
||||
* Simple atom:logo element. The "atom:logo" element's content is an IRI
|
||||
* reference [RFC3987] that identifies an image that provides visual
|
||||
* identification for a feed.
|
||||
*
|
||||
* <pre>
|
||||
* atomLogo = element atom:logo {
|
||||
* atomCommonAttributes,
|
||||
* (atomUri)
|
||||
* </pre>
|
||||
*
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public interface GOMLogo extends GOMElement {
|
||||
/**
|
||||
* Atom local name for the xml element
|
||||
*/
|
||||
public static final String LOCALNAME = "logo";
|
||||
|
||||
}
|
|
@ -0,0 +1,151 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
/**
|
||||
* A simple domain object to represent a xml namespace.
|
||||
*
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public final class GOMNamespace {
|
||||
|
||||
/**
|
||||
* XML namespace uri
|
||||
*/
|
||||
public static final String XML_NS_URI = "http://www.w3.org/XML/1998/namespace";
|
||||
|
||||
/**
|
||||
* XML namespace prefix
|
||||
*/
|
||||
public static final String XML_NS_PREFIX = "xml";
|
||||
|
||||
/**
|
||||
* Amazon "opensearch" namespace prefix
|
||||
*/
|
||||
public static final String OPENSEARCH_NS_PREFIX = "openSearch";
|
||||
|
||||
/**
|
||||
* Amazon "opensearch" namespace uri
|
||||
*/
|
||||
public static final String OPENSEARCH_NS_URI = "http://a9.com/-/spec/opensearchrss/1.0/";
|
||||
|
||||
/**
|
||||
* ATOM namespace uri
|
||||
*/
|
||||
public static final String ATOM_NS_URI = "http://www.w3.org/2005/Atom";
|
||||
|
||||
/**
|
||||
* ATOM namespace prefix
|
||||
*/
|
||||
public static final String ATOM_NS_PREFIX = "atom";
|
||||
|
||||
/**
|
||||
* ATOM namespace
|
||||
*/
|
||||
public static final GOMNamespace ATOM_NAMESPACE = new GOMNamespace(
|
||||
ATOM_NS_URI, ATOM_NS_PREFIX);
|
||||
|
||||
/**
|
||||
* Amazon "opensearch" namespace
|
||||
*/
|
||||
public static final GOMNamespace OPENSEARCH_NAMESPACE = new GOMNamespace(
|
||||
OPENSEARCH_NS_URI, OPENSEARCH_NS_PREFIX);
|
||||
|
||||
private final String namespaceUri;
|
||||
|
||||
private final String namespacePrefix;
|
||||
|
||||
/**
|
||||
* Class constructor for GOMNamespace
|
||||
*
|
||||
* @param aNamespaceUri -
|
||||
* the namespace uri (must not be null)
|
||||
* @param aNamespacePrefix -
|
||||
* the namespace prefix (if null an empty string will be
|
||||
* assigned)
|
||||
*
|
||||
*/
|
||||
public GOMNamespace(final String aNamespaceUri,
|
||||
final String aNamespacePrefix) {
|
||||
if (aNamespaceUri == null)
|
||||
throw new IllegalArgumentException("uri must not be null");
|
||||
this.namespacePrefix = aNamespacePrefix == null ? "" : aNamespacePrefix;
|
||||
this.namespaceUri = aNamespaceUri;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Returns the namespacePrefix.
|
||||
*/
|
||||
public String getNamespacePrefix() {
|
||||
return this.namespacePrefix;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Returns the namespaceUri.
|
||||
*/
|
||||
public String getNamespaceUri() {
|
||||
return this.namespaceUri;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see java.lang.Object#equals(java.lang.Object)
|
||||
*/
|
||||
@Override
|
||||
public boolean equals(Object arg0) {
|
||||
if (arg0 == null)
|
||||
return false;
|
||||
if (arg0 == this)
|
||||
return true;
|
||||
if (arg0 instanceof GOMNamespace) {
|
||||
GOMNamespace other = (GOMNamespace) arg0;
|
||||
return this.namespacePrefix.equals(other.getNamespacePrefix())
|
||||
&& this.namespaceUri.equals(other.getNamespaceUri());
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see java.lang.Object#hashCode()
|
||||
*/
|
||||
@Override
|
||||
public int hashCode() {
|
||||
/*
|
||||
* The multiplier 37 was chosen because it is an odd prime. If it was
|
||||
* even and the multiplication overflowed, information would be lost
|
||||
* because multiplication by two is equivalent to shifting The value 17
|
||||
* is arbitrary. see
|
||||
* http://java.sun.com/developer/Books/effectivejava/Chapter3.pdf
|
||||
*/
|
||||
int hash = 17;
|
||||
hash = 37 * hash + this.namespacePrefix.hashCode();
|
||||
hash = 37 * hash + this.namespaceUri.hashCode();
|
||||
return hash;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see java.lang.Object#toString()
|
||||
*/
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder builder = new StringBuilder(this.getClass().getName());
|
||||
builder.append(" uri: ").append(this.namespaceUri);
|
||||
builder.append(" prefix: ").append(this.namespacePrefix);
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,75 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* GOMPerson type used for feed and entry authors and contributors. It may also
|
||||
* be used by custom elements.
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* atomPersonConstruct =
|
||||
* atomCommonAttributes,
|
||||
* (element atom:name { text }
|
||||
* & element atom:uri { atomUri }?
|
||||
* & element atom:email { atomEmailAddress }?
|
||||
* & extensionElement*)
|
||||
* }
|
||||
* </pre>
|
||||
*
|
||||
* @author Simon Willnauer
|
||||
* @see org.apache.lucene.gdata.gom.GOMAuthor
|
||||
*/
|
||||
public interface GOMPerson extends GOMElement {
|
||||
/**
|
||||
* Atom local name for the xml element
|
||||
*/
|
||||
public static final String LOCALNAME = "person";
|
||||
|
||||
/**
|
||||
* @param aName - the person name value
|
||||
*/
|
||||
public abstract void setName(String aName);
|
||||
|
||||
/**
|
||||
* @param aEmail - the person email value
|
||||
*/
|
||||
public abstract void setEmail(String aEmail);
|
||||
|
||||
/**
|
||||
* @param uri - the person uri value
|
||||
*/
|
||||
public abstract void setUri(String uri);
|
||||
|
||||
/**
|
||||
* @return - the person name value
|
||||
*/
|
||||
public abstract String getName();
|
||||
|
||||
/**
|
||||
* @return - the person email value
|
||||
*/
|
||||
public abstract String getEmail();
|
||||
|
||||
/**
|
||||
* @return - the person uri value
|
||||
*/
|
||||
public abstract String getUri();
|
||||
// TODO needs extension possibility
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
/**
|
||||
*
|
||||
* The "atom:published" element is a Date construct indicating an instant in
|
||||
* time associated with an event early in the life cycle of the entry.
|
||||
* Typically, atom:published will be associated with the initial creation or
|
||||
* first availability of the resource.
|
||||
*
|
||||
* <pre>
|
||||
* atomPublished = element atom:published { atomDateConstruct}
|
||||
* </pre>
|
||||
*
|
||||
* @author Simon Willnauer
|
||||
* @see org.apache.lucene.gdata.gom.GOMDateConstruct
|
||||
*/
|
||||
public interface GOMPublished extends GOMDateConstruct {
|
||||
/**
|
||||
* Atom local name for the xml element
|
||||
*/
|
||||
public static final String LOCALNAME = "published";
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import org.apache.lucene.gdata.gom.GOMElement;
|
||||
|
||||
/**
|
||||
*
|
||||
* The "atom:rights" element is a Text construct that conveys information about
|
||||
* rights held in and over an entry or feed. The atom:rights element SHOULD NOT
|
||||
* be used to convey machine-readable licensing information.
|
||||
*
|
||||
* <pre>
|
||||
* atomRights = element atom:rights { atomTextConstruct }
|
||||
* </pre>
|
||||
*
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public interface GOMRights extends GOMElement {
|
||||
/**
|
||||
* Atom local name for the xml element
|
||||
*/
|
||||
public static final String LOCALNAME = "rights";
|
||||
}
|
|
@ -0,0 +1,120 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* If an atom:entry is copied from one feed into another feed, then the source
|
||||
* atom:feed's metadata (all child elements of atom:feed other than the
|
||||
* atom:entry elements) MAY be preserved within the copied entry by adding an
|
||||
* atom:source child element, if it is not already present in the entry, and
|
||||
* including some or all of the source feed's Metadata elements as the
|
||||
* atom:source element's children. Such metadata SHOULD be preserved if the
|
||||
* source atom:feed contains any of the child elements atom:author,
|
||||
* atom:contributor, atom:rights, or atom:category and those child elements are
|
||||
* not present in the source atom:entry.
|
||||
*
|
||||
* <pre>
|
||||
* atomSource =
|
||||
* element atom:source {
|
||||
* atomCommonAttributes,
|
||||
* (atomAuthor*
|
||||
* & atomCategory*
|
||||
* & atomContributor*
|
||||
* & atomGenerator?
|
||||
* & atomIcon?
|
||||
* & atomId?
|
||||
* & atomLink*
|
||||
* & atomLogo?
|
||||
* & atomRights?
|
||||
* & atomSubtitle?
|
||||
* & atomTitle?
|
||||
* & atomUpdated?
|
||||
* & extensionElement*)
|
||||
* }
|
||||
* </pre>
|
||||
*
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public interface GOMSource extends GOMXmlEntity, GOMElement {
|
||||
public static final String LOCALNAME = "source";
|
||||
|
||||
/**
|
||||
* @param aAuthor
|
||||
*/
|
||||
public void addAuthor(GOMAuthor aAuthor);
|
||||
|
||||
/**
|
||||
* @param aCategory
|
||||
*/
|
||||
public void addCategory(GOMCategory aCategory);
|
||||
|
||||
/**
|
||||
* @param aContributor
|
||||
*/
|
||||
public void addContributor(GOMContributor aContributor);
|
||||
|
||||
/**
|
||||
* @param aLink
|
||||
*/
|
||||
public void addLink(GOMLink aLink);
|
||||
|
||||
public List<GOMAuthor> getAuthors();
|
||||
|
||||
public List<GOMCategory> getCategories();
|
||||
|
||||
public List<GOMContributor> getContributor();
|
||||
|
||||
public GOMGenerator getGenerator();
|
||||
|
||||
public GOMId getId();
|
||||
|
||||
public void setGenerator(GOMGenerator aGenerator);
|
||||
|
||||
public void setIcon(GOMIcon aIcon);
|
||||
|
||||
public void setId(GOMId aId);
|
||||
|
||||
public GOMLogo getLogo();
|
||||
|
||||
public void setLogo(GOMLogo aLogo);
|
||||
|
||||
public GOMRights getRights();
|
||||
|
||||
public void setRights(GOMRights aRights);
|
||||
|
||||
public GOMSubtitle getSubtitle();
|
||||
|
||||
public void setSubtitle(GOMSubtitle aSubtitle);
|
||||
|
||||
public GOMTitle getTitle();
|
||||
|
||||
public void setTitle(GOMTitle aTitle);
|
||||
|
||||
public GOMUpdated getUpdated();
|
||||
|
||||
public void setUpdated(GOMUpdated aUpdated);
|
||||
|
||||
public GOMIcon getIcon();
|
||||
|
||||
public List<GOMLink> getLinks();
|
||||
|
||||
//TODO needs extension elements
|
||||
|
||||
}
|
|
@ -0,0 +1,41 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
/**
|
||||
*
|
||||
* The "atom:subtitle" element is a Text construct that conveys a human-readable
|
||||
* description or subtitle for a feed.
|
||||
*
|
||||
* <pre>
|
||||
* atomSubtitle = element atom:subtitle { atomTextConstruct }
|
||||
* </pre>
|
||||
*
|
||||
* @author Simon Willnauer
|
||||
* @see org.apache.lucene.gdata.gom.GOMTextConstruct
|
||||
*/
|
||||
public interface GOMSubtitle extends GOMTextConstruct {
|
||||
/**
|
||||
* Atom local name for the xml element
|
||||
*/
|
||||
public static final String LOCALNAME = "subtitle";
|
||||
|
||||
/**
|
||||
* RSS local name for the xml element
|
||||
*/
|
||||
public static final String RSS_LOCALNAME = "description";
|
||||
}
|
|
@ -0,0 +1,29 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public interface GOMSummary extends GOMTextConstruct {
|
||||
|
||||
/**
|
||||
* Atom local name for the xml element
|
||||
*/
|
||||
public static final String LOCALNAME = "summary";
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public interface GOMTextConstruct extends GOMElement {
|
||||
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import org.apache.lucene.gdata.gom.GOMElement;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public interface GOMTime extends GOMElement {
|
||||
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
/**
|
||||
*
|
||||
* The "atom:title" element is a Text construct that conveys a human-readable
|
||||
* title for an entry or feed.
|
||||
*
|
||||
* <pre>
|
||||
* atomTitle = element atom:title { atomTextConstruct }
|
||||
* </pre>
|
||||
*
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public interface GOMTitle extends GOMElement {
|
||||
|
||||
/**
|
||||
* Atom local name for the xml element
|
||||
*/
|
||||
public static final String LOCALNAME = "title";
|
||||
|
||||
/**
|
||||
* @return - the content type attribute value as a {@link ContentType}
|
||||
* @see ContentType
|
||||
*/
|
||||
public abstract ContentType getContentType();
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
/**
|
||||
*
|
||||
* The "atom:updated" element is a Date construct indicating the most recent
|
||||
* instant in time when an entry or feed was modified in a way the publisher
|
||||
* considers significant. Therefore, not all modifications necessarily result in
|
||||
* a changed atom:updated value.
|
||||
*
|
||||
* <pre>
|
||||
* atomUpdated = element atom:updated { atomDateConstruct}
|
||||
* </pre>
|
||||
*
|
||||
* @author Simon Willnauer
|
||||
* @see org.apache.lucene.gdata.gom.GOMDateConstruct
|
||||
*/
|
||||
public interface GOMUpdated extends GOMDateConstruct {
|
||||
/**
|
||||
* Atom local name for the xml element
|
||||
*/
|
||||
public static final String LOCALNAME = "updated";
|
||||
}
|
|
@ -0,0 +1,69 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
|
||||
/**
|
||||
* GOMXmlEntity is a abstract base interface for all Gdata Object Model
|
||||
* Interfaces to be implemented by any class which is a part of the GOM. This
|
||||
* interface defines a basic interface for xml attributes and elements
|
||||
*
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public abstract interface GOMXmlEntity {
|
||||
|
||||
/**
|
||||
* @return - the entities QName
|
||||
* @see QName
|
||||
*
|
||||
*/
|
||||
public abstract QName getQname();
|
||||
|
||||
/**
|
||||
* @param aString - the namespace uri to set
|
||||
*/
|
||||
public abstract void setNamespaceUri(String aString);
|
||||
|
||||
/**
|
||||
* @param aString - the namespace prefix to set
|
||||
*/
|
||||
public abstract void setNamespacePrefix(String aString);
|
||||
|
||||
/**
|
||||
* @param aLocalName - the localname of the entitiy
|
||||
*/
|
||||
public abstract void setLocalName(String aLocalName);
|
||||
|
||||
/**
|
||||
* @return - the local name of the entitiy
|
||||
*/
|
||||
public abstract String getLocalName();
|
||||
|
||||
/**
|
||||
* @return - the text value of the entity
|
||||
*/
|
||||
public abstract String getTextValue();
|
||||
|
||||
/**
|
||||
* @param aTextValue - the text value of the entity
|
||||
*/
|
||||
public abstract void setTextValue(String aTextValue);
|
||||
|
||||
}
|
|
@ -0,0 +1,232 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import org.apache.lucene.gdata.gom.GOMAttribute;
|
||||
import org.apache.lucene.gdata.gom.GOMElement;
|
||||
import org.apache.lucene.gdata.gom.GOMNamespace;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*/
|
||||
public abstract class AbstractGOMElement implements GOMElement {
|
||||
/**
|
||||
* atomCommonAttribute <br/> attribute xml:lang { atomLanguageTag }?
|
||||
*/
|
||||
protected String xmlLang;
|
||||
|
||||
/**
|
||||
* atomCommonAttribute <br/> attribute xml:base { atomUri }?
|
||||
*/
|
||||
protected String xmlBase;
|
||||
|
||||
protected QName qname;
|
||||
|
||||
protected String textValue;
|
||||
|
||||
protected String localName;
|
||||
|
||||
protected String nsUri;
|
||||
|
||||
protected String nsPrefix;
|
||||
|
||||
/**
|
||||
* atomCommonAttributes <br/> undefinedAttribute*
|
||||
*/
|
||||
protected List<GOMAttribute> extensionAttributes = new LinkedList<GOMAttribute>();
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* @see org.apache.lucene.gdata.gom.GOMXmlEntity#getQname()
|
||||
*/
|
||||
public QName getQname() {
|
||||
return this.qname;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* @see org.apache.lucene.gdata.gom.GOMXmlEntity#getTextValue()
|
||||
*/
|
||||
public String getTextValue() {
|
||||
return this.textValue;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* @see org.apache.lucene.gdata.gom.GOMXmlEntity#setTextValue(java.lang.String)
|
||||
*/
|
||||
public void setTextValue(String aTextValue) {
|
||||
this.textValue = aTextValue;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* @see org.apache.lucene.gdata.gom.GOMXmlEntity#getLocalName()
|
||||
*/
|
||||
public String getLocalName() {
|
||||
return this.localName;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* @see org.apache.lucene.gdata.gom.GOMXmlEntity#setLocalName(java.lang.String)
|
||||
*/
|
||||
public void setLocalName(String aLocalName) {
|
||||
// must override
|
||||
}
|
||||
|
||||
protected void addAttribute(GOMAttribute aAttribute) {
|
||||
if (aAttribute != null)
|
||||
this.extensionAttributes.add(aAttribute);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* @see org.apache.lucene.gdata.gom.core.AtomParser#getChildParser(javax.xml.namespace.QName)
|
||||
*/
|
||||
public AtomParser getChildParser(QName aName) {
|
||||
throw new GDataParseException(String.format(UNEXPECTED_ELEMENT_CHILD,
|
||||
this.qname));
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* @see org.apache.lucene.gdata.gom.core.AtomParser#processAttribute(javax.xml.namespace.QName,
|
||||
* java.lang.String)
|
||||
*/
|
||||
public void processAttribute(QName aQName, String aValue) {
|
||||
if (aQName == null)
|
||||
throw new GDataParseException("QName must not be null");
|
||||
if (aQName.getNamespaceURI().equals(GOMNamespace.XML_NS_URI)) {
|
||||
if (aQName.getLocalPart().equals(XML_BASE))
|
||||
this.xmlBase = aValue;
|
||||
else if (aQName.getLocalPart().equals(XML_LANG))
|
||||
this.xmlLang = aValue;
|
||||
|
||||
} else {
|
||||
GOMAttributeImpl impl = new GOMAttributeImpl(aQName
|
||||
.getNamespaceURI(), aQName.getPrefix(), aQName
|
||||
.getLocalPart(), aValue);
|
||||
this.addAttribute(impl);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* @see org.apache.lucene.gdata.gom.core.AtomParser#processElementValue(java.lang.String)
|
||||
*/
|
||||
public void processElementValue(String aValue) {
|
||||
throw new GDataParseException(String.format(UNEXPECTED_ELEMENT_VALUE,
|
||||
this.qname));
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* @see org.apache.lucene.gdata.gom.core.AtomParser#processEndElement()
|
||||
*/
|
||||
public void processEndElement() {
|
||||
// no post processing
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* @see org.apache.lucene.gdata.gom.GOMXmlEntity#setNamespaceUri(java.lang.String)
|
||||
*/
|
||||
public void setNamespaceUri(String aString) {
|
||||
this.nsUri = aString;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* @see org.apache.lucene.gdata.gom.GOMXmlEntity#setNamespacePrefix(java.lang.String)
|
||||
*/
|
||||
public void setNamespacePrefix(String aString) {
|
||||
this.nsPrefix = aString;
|
||||
}
|
||||
|
||||
protected List<GOMAttribute> getXmlNamespaceAttributes() {
|
||||
List<GOMAttribute> retVal = new LinkedList<GOMAttribute>();
|
||||
if (this.xmlBase != null)
|
||||
retVal.add(new GOMAttributeImpl(GOMNamespace.XML_NS_URI,
|
||||
GOMNamespace.XML_NS_PREFIX, "base", this.xmlBase));
|
||||
if (this.xmlLang != null)
|
||||
retVal.add(new GOMAttributeImpl(GOMNamespace.XML_NS_URI,
|
||||
GOMNamespace.XML_NS_PREFIX, "lang", this.xmlLang));
|
||||
return retVal;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* @see org.apache.lucene.gdata.gom.GOMElement#writeRssOutput(org.apache.lucene.gdata.gom.writer.GOMStaxWriter,
|
||||
* java.lang.String)
|
||||
*/
|
||||
public void writeRssOutput(GOMOutputWriter aStreamWriter, String aRssName)
|
||||
throws XMLStreamException {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* @see org.apache.lucene.gdata.gom.GOMElement#getXmlBase()
|
||||
*/
|
||||
public String getXmlBase() {
|
||||
return this.xmlBase;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* @see org.apache.lucene.gdata.gom.GOMElement#getXmlLang()
|
||||
*/
|
||||
public String getXmlLang() {
|
||||
|
||||
return this.xmlLang;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,162 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import org.apache.lucene.gdata.gom.GOMAttribute;
|
||||
import org.apache.lucene.gdata.gom.GOMElement;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;
|
||||
//TODO add java doc
|
||||
/**
|
||||
*
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public class ArbitraryGOMXml extends AbstractGOMElement {
|
||||
private List<GOMElement> children = new LinkedList<GOMElement>();
|
||||
|
||||
private List<GOMAttribute> attributes = new LinkedList<GOMAttribute>();
|
||||
|
||||
/**
|
||||
* this method will never return <code>null</code>
|
||||
*
|
||||
* @return Returns the attributes of this xml element.
|
||||
*/
|
||||
public List<GOMAttribute> getAttributes() {
|
||||
return this.attributes;
|
||||
}
|
||||
|
||||
/**
|
||||
* this method will never return <code>null</code>
|
||||
*
|
||||
* @return - the child elements of this xml element
|
||||
*/
|
||||
public List<GOMElement> getChildren() {
|
||||
return this.children;
|
||||
}
|
||||
|
||||
/**
|
||||
* Class constructor
|
||||
*
|
||||
* @param qname -
|
||||
* the elements qname
|
||||
*/
|
||||
public ArbitraryGOMXml(QName qname) {
|
||||
if (qname == null)
|
||||
throw new IllegalArgumentException("QName must not be null");
|
||||
|
||||
this.qname = qname;
|
||||
this.localName = qname.getLocalPart();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* @see org.apache.lucene.gdata.gom.core.AbstractGOMElement#getChildParser(javax.xml.namespace.QName)
|
||||
*/
|
||||
@Override
|
||||
public AtomParser getChildParser(QName aName) {
|
||||
if (aName == null)
|
||||
throw new GDataParseException("QName must not be null");
|
||||
/*
|
||||
* either a text value or a child
|
||||
*/
|
||||
if (this.textValue != null)
|
||||
throw new GDataParseException(String.format(
|
||||
AtomParser.UNEXPECTED_ELEMENT_CHILD, this.localName));
|
||||
GOMElement element = new ArbitraryGOMXml(aName);
|
||||
this.children.add(element);
|
||||
return element;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* @see org.apache.lucene.gdata.gom.core.AbstractGOMElement#processAttribute(javax.xml.namespace.QName,
|
||||
* java.lang.String)
|
||||
*/
|
||||
@Override
|
||||
public void processAttribute(QName aQName, String aValue) {
|
||||
if (aQName == null)
|
||||
throw new GDataParseException("QName must not be null");
|
||||
GOMAttributeImpl impl = new GOMAttributeImpl(aQName.getNamespaceURI(),
|
||||
aQName.getPrefix(), aQName.getLocalPart(), aValue);
|
||||
this.attributes.add(impl);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* @see org.apache.lucene.gdata.gom.core.AbstractGOMElement#processElementValue(java.lang.String)
|
||||
*/
|
||||
@Override
|
||||
public void processElementValue(String aValue) {
|
||||
if (aValue == null)
|
||||
throw new GDataParseException("Element value must not be null");
|
||||
/*
|
||||
* either a text value or a child
|
||||
*/
|
||||
if (this.children.size() > 0)
|
||||
throw new GDataParseException(String.format(
|
||||
AtomParser.UNEXPECTED_ELEMENT_VALUE, this.localName));
|
||||
if (this.textValue != null)
|
||||
throw new GDataParseException(String.format(
|
||||
AtomParser.UNEXPECTED_ELEMENT_VALUE, this.localName));
|
||||
this.textValue = aValue;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* @see org.apache.lucene.gdata.gom.GOMElement#writeAtomOutput(org.apache.lucene.gdata.gom.writer.GOMStaxWriter)
|
||||
*/
|
||||
public void writeAtomOutput(GOMOutputWriter aStreamWriter)
|
||||
throws XMLStreamException {
|
||||
if (aStreamWriter == null)
|
||||
throw new NullPointerException("StreamWriter is null");
|
||||
aStreamWriter.writeStartElement(this.qname, this.attributes);
|
||||
if (this.textValue == null) {
|
||||
for (GOMElement element : this.children) {
|
||||
element.writeAtomOutput(aStreamWriter);
|
||||
}
|
||||
} else {
|
||||
aStreamWriter.writeContent(this.textValue);
|
||||
}
|
||||
aStreamWriter.writeEndElement();
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* @see org.apache.lucene.gdata.gom.GOMElement#writeRssOutput(org.apache.lucene.gdata.gom.writer.GOMStaxWriter)
|
||||
*/
|
||||
public void writeRssOutput(GOMOutputWriter aStreamWriter)
|
||||
throws XMLStreamException {
|
||||
// delegate it by default
|
||||
this.writeAtomOutput(aStreamWriter);
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,134 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public interface AtomParser {
|
||||
|
||||
/**
|
||||
* Error message for an unexpected element
|
||||
* @see String#format(java.lang.String, java.lang.Object[])
|
||||
*/
|
||||
public static final String UNEXPECTED_ELEMENT = "Expected Element '%s' but was '%s' ";
|
||||
|
||||
|
||||
/**
|
||||
* Error message for an unexpected element child
|
||||
* @see String#format(java.lang.String, java.lang.Object[])
|
||||
*/
|
||||
public static final String UNEXPECTED_ELEMENT_CHILD = "Element '%s' can not contain child elements ";
|
||||
|
||||
/**
|
||||
* Error message for an urecognized element child
|
||||
* @see String#format(java.lang.String, java.lang.Object[])
|
||||
*/
|
||||
public static final String URECOGNIZED_ELEMENT_CHILD = "Element '%s' can not contain child elements of the type %s";
|
||||
|
||||
/**
|
||||
* Error message for an unexpected attribute
|
||||
* @see String#format(java.lang.String, java.lang.Object[])
|
||||
*/
|
||||
public static final String UNEXPECTED_ATTRIBUTE = "Element '%s' can not contain attributes ";
|
||||
|
||||
/**
|
||||
* Error message for an unexpected element value
|
||||
* @see String#format(java.lang.String, java.lang.Object[])
|
||||
*/
|
||||
public static final String UNEXPECTED_ELEMENT_VALUE = "Element '%s' can not contain any element value";
|
||||
|
||||
/**
|
||||
* Error message for a missing element attribute
|
||||
* @see String#format(java.lang.String, java.lang.Object[])
|
||||
*/
|
||||
public static final String MISSING_ELEMENT_ATTRIBUTE = "Element '%s' requires an '%s' attribute";
|
||||
|
||||
/**
|
||||
* Error message for a missing element child
|
||||
* @see String#format(java.lang.String, java.lang.Object[])
|
||||
*/
|
||||
public static final String MISSING_ELEMENT_CHILD = "Element '%s' requires a child of the type '%s'";
|
||||
|
||||
/**
|
||||
* Error message for a missing element value
|
||||
* @see String#format(java.lang.String, java.lang.Object[])
|
||||
*/
|
||||
public static final String MISSING_ELEMENT_VALUE = "Element '%s' requires a element value of the type '%s'";
|
||||
|
||||
/**
|
||||
* Error message for a missing element value
|
||||
* @see String#format(java.lang.String, java.lang.Object[])
|
||||
*/
|
||||
public static final String MISSING_ELEMENT_VALUE_PLAIN = "Element '%s' requires a element value'";
|
||||
|
||||
/**
|
||||
* Error message for a duplicated element
|
||||
* @see String#format(java.lang.String, java.lang.Object[])
|
||||
*/
|
||||
public static final String DUPLICATE_ELEMENT = "Duplicated Element '%s'";
|
||||
|
||||
/**
|
||||
* Error message for a duplicated element value
|
||||
* @see String#format(java.lang.String, java.lang.Object[])
|
||||
*/
|
||||
public static final String DUPLICATE_ELEMENT_VALUE = "Duplicated Element value for element '%s'";
|
||||
|
||||
/**
|
||||
* Error message for a duplicated attribute
|
||||
* @see String#format(java.lang.String, java.lang.Object[])
|
||||
*/
|
||||
public static final String DUPLICATE_ATTRIBUTE = "Duplicated Attribute '%s'";
|
||||
|
||||
/**
|
||||
* Error message for an invalid attribute
|
||||
* @see String#format(java.lang.String, java.lang.Object[])
|
||||
*/
|
||||
public static final String INVALID_ATTRIBUTE = "The attribute '%s' must be an %s";
|
||||
|
||||
/**
|
||||
* Error message for an invalid element value
|
||||
* @see String#format(java.lang.String, java.lang.Object[])
|
||||
*/
|
||||
public static final String INVALID_ELEMENT_VALUE = "The element value '%s' must be an %s";
|
||||
|
||||
/**
|
||||
* @param aValue
|
||||
*/
|
||||
public abstract void processElementValue(String aValue);
|
||||
|
||||
/**
|
||||
* @param aQName
|
||||
* @param aValue
|
||||
*/
|
||||
public abstract void processAttribute(QName aQName, String aValue);
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public abstract void processEndElement();
|
||||
|
||||
/**
|
||||
* @param name
|
||||
* @return
|
||||
*/
|
||||
public abstract AtomParser getChildParser(QName name);
|
||||
|
||||
}
|
|
@ -0,0 +1,45 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import java.net.URISyntaxException;
|
||||
|
||||
import org.apache.lucene.gdata.gom.core.utils.AtomParserUtils;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
abstract class AtomUriElement extends SimpleGOMElementImpl {
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.SimpleGOMElementImpl#processEndElement()
|
||||
*/
|
||||
@Override
|
||||
public void processEndElement() {
|
||||
if (this.textValue == null)
|
||||
throw new GDataParseException(String.format(
|
||||
MISSING_ELEMENT_VALUE, this.localName, "atomUri"));
|
||||
try {
|
||||
AtomParserUtils.getAbsolutAtomURI(this.xmlBase, this.textValue);
|
||||
} catch (URISyntaxException e) {
|
||||
throw new GDataParseException(String.format(INVALID_ELEMENT_VALUE,
|
||||
this.localName, "absolute uri"), e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,58 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public class GDataParseException extends RuntimeException {
|
||||
|
||||
/**
|
||||
* Serial Version ID -- implements {@link java.io.Serializable}
|
||||
*/
|
||||
private static final long serialVersionUID = -3633604155009277238L;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public GDataParseException() {
|
||||
}
|
||||
|
||||
/**
|
||||
* @param arg0
|
||||
*/
|
||||
public GDataParseException(String arg0) {
|
||||
super(arg0);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param arg0
|
||||
*/
|
||||
public GDataParseException(Throwable arg0) {
|
||||
super(arg0);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param arg0
|
||||
* @param arg1
|
||||
*/
|
||||
public GDataParseException(String arg0, Throwable arg1) {
|
||||
super(arg0, arg1);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,151 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
|
||||
import org.apache.lucene.gdata.gom.GOMAttribute;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public class GOMAttributeImpl implements GOMAttribute {
|
||||
private boolean hasDefaultNamespace;
|
||||
|
||||
private QName qName;
|
||||
|
||||
private String localName;
|
||||
|
||||
private String uri;
|
||||
|
||||
private String prefix;
|
||||
|
||||
private String value;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public GOMAttributeImpl() {
|
||||
super();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param localName
|
||||
* @param value
|
||||
*/
|
||||
public GOMAttributeImpl(String localName, String value) {
|
||||
this.hasDefaultNamespace = true;
|
||||
this.value = value;
|
||||
this.localName = localName;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param namespaceUri
|
||||
* @param namespacePrefix
|
||||
* @param localName
|
||||
* @param value
|
||||
*/
|
||||
public GOMAttributeImpl(String namespaceUri, String namespacePrefix,
|
||||
String localName, String value) {
|
||||
this.localName = localName;
|
||||
this.uri = namespaceUri;
|
||||
this.prefix = namespacePrefix;
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMXmlEntity#getQname()
|
||||
*/
|
||||
public QName getQname() {
|
||||
if (this.qName == null)
|
||||
this.qName = new QName(this.uri, (this.localName == null ? ""
|
||||
: this.localName), (this.prefix == null ? "" : this.prefix));
|
||||
return this.qName;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMXmlEntity#setLocalName(java.lang.String)
|
||||
*/
|
||||
public void setLocalName(String aLocalName) {
|
||||
if (aLocalName == null)
|
||||
return;
|
||||
this.qName = null;
|
||||
this.localName = aLocalName;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMXmlEntity#getLocalName()
|
||||
*/
|
||||
public String getLocalName() {
|
||||
return this.localName;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMXmlEntity#getTextValue()
|
||||
*/
|
||||
public String getTextValue() {
|
||||
return this.value == null ? "" : this.value;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMXmlEntity#setTextValue(java.lang.String)
|
||||
*/
|
||||
public void setTextValue(String aTextValue) {
|
||||
this.value = aTextValue;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMAttribute#hasDefaultNamespace()
|
||||
*/
|
||||
public boolean hasDefaultNamespace() {
|
||||
|
||||
return this.hasDefaultNamespace;
|
||||
}
|
||||
|
||||
void setHasDefaultNamespace(boolean aBoolean) {
|
||||
this.hasDefaultNamespace = aBoolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMXmlEntity#setNamespaceUri(java.lang.String)
|
||||
*/
|
||||
public void setNamespaceUri(String aString) {
|
||||
if (aString == null)
|
||||
return;
|
||||
this.qName = null;
|
||||
this.hasDefaultNamespace = false;
|
||||
this.uri = aString;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMXmlEntity#setNamespacePrefix(java.lang.String)
|
||||
*/
|
||||
public void setNamespacePrefix(String aString) {
|
||||
if (aString == null)
|
||||
return;
|
||||
this.qName = null;
|
||||
this.hasDefaultNamespace = false;
|
||||
this.prefix = aString;
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import org.apache.lucene.gdata.gom.GOMAuthor;
|
||||
import org.apache.lucene.gdata.gom.GOMNamespace;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public class GOMAuthorImpl extends GOMPersonImpl implements GOMAuthor {
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public GOMAuthorImpl() {
|
||||
this.localName = GOMAuthor.LOCALNAME;
|
||||
this.qname = new QName(GOMNamespace.ATOM_NS_URI, this.localName);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.GOMPersonImpl#writeRssOutput(org.apache.lucene.gdata.gom.writer.GOMStaxWriter)
|
||||
*/
|
||||
@Override
|
||||
public void writeRssOutput(GOMOutputWriter aStreamWriter)
|
||||
throws XMLStreamException {
|
||||
writeRssOutput(aStreamWriter, this.localName);
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,154 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import java.util.Stack;
|
||||
|
||||
import javax.xml.stream.XMLStreamConstants;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
import javax.xml.stream.XMLStreamReader;
|
||||
|
||||
import org.apache.lucene.gdata.gom.GOMDocument;
|
||||
import org.apache.lucene.gdata.gom.GOMEntry;
|
||||
import org.apache.lucene.gdata.gom.GOMFeed;
|
||||
import org.apache.lucene.gdata.gom.GOMNamespace;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*/
|
||||
public class GOMBuilder {
|
||||
|
||||
private final XMLStreamReader streamReader;
|
||||
|
||||
private final GOMFactory factory;
|
||||
|
||||
private final Stack<AtomParser> parserStack;
|
||||
|
||||
/**
|
||||
* @param arg0
|
||||
*/
|
||||
public GOMBuilder(XMLStreamReader arg0) {
|
||||
if (arg0 == null)
|
||||
throw new IllegalArgumentException(
|
||||
"XMLStreamReader instance must not be null");
|
||||
this.streamReader = arg0;
|
||||
this.factory = GOMFactory.createInstance();
|
||||
this.parserStack = new Stack<AtomParser>();
|
||||
}
|
||||
|
||||
public GOMDocument<GOMFeed> buildGOMFeed() throws XMLStreamException {
|
||||
GOMDocument<GOMFeed> document = new GOMDocumentImpl<GOMFeed>();
|
||||
GOMFeed element = startFeedDocument(document);
|
||||
document.setRootElement(element);
|
||||
parse(this.streamReader);
|
||||
|
||||
return document;
|
||||
}
|
||||
|
||||
private void parse(XMLStreamReader aReader) throws XMLStreamException {
|
||||
|
||||
int next = 0;
|
||||
|
||||
while ((next = next()) != XMLStreamConstants.END_DOCUMENT) {
|
||||
|
||||
if (next == XMLStreamConstants.START_ELEMENT) {
|
||||
AtomParser childParser = this.parserStack.peek()
|
||||
.getChildParser(this.streamReader.getName());
|
||||
processAttributes(childParser);
|
||||
this.parserStack.push(childParser);
|
||||
} else if (next == XMLStreamConstants.END_ELEMENT) {
|
||||
this.parserStack.pop().processEndElement();
|
||||
} else if (next == XMLStreamConstants.CHARACTERS) {
|
||||
this.parserStack.peek().processElementValue(
|
||||
this.streamReader.getText());
|
||||
} else if (next == XMLStreamConstants.CDATA) {
|
||||
System.out.println("CDdata");
|
||||
}
|
||||
// System.out.println(next);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @param childParser
|
||||
*/
|
||||
private void processAttributes(AtomParser childParser) {
|
||||
int attributeCount = this.streamReader.getAttributeCount();
|
||||
for (int i = 0; i < attributeCount; i++) {
|
||||
childParser.processAttribute(this.streamReader.getAttributeName(i),
|
||||
this.streamReader.getAttributeValue(i));
|
||||
}
|
||||
}
|
||||
|
||||
public GOMDocument<GOMEntry> buildGOMEntry() throws XMLStreamException {
|
||||
GOMDocument<GOMEntry> document = new GOMDocumentImpl<GOMEntry>();
|
||||
GOMEntry element = startEntryDocument(document);
|
||||
document.setRootElement(element);
|
||||
parse(this.streamReader);
|
||||
|
||||
return document;
|
||||
|
||||
}
|
||||
|
||||
private GOMEntry startEntryDocument(GOMDocument aDocument)
|
||||
throws XMLStreamException {
|
||||
aDocument.setVersion(this.streamReader.getVersion());
|
||||
aDocument.setCharacterEncoding(this.streamReader
|
||||
.getCharacterEncodingScheme());
|
||||
GOMEntry entry = this.factory.createEntry();
|
||||
if (next() != XMLStreamConstants.START_ELEMENT)
|
||||
throw new GDataParseException("Expected start of feed element");
|
||||
processAttributes(entry);
|
||||
this.parserStack.push(entry);
|
||||
int count = this.streamReader.getNamespaceCount();
|
||||
for (int i = 0; i < count; i++) {
|
||||
GOMNamespace namespace = new GOMNamespace(this.streamReader
|
||||
.getNamespaceURI(i), this.streamReader
|
||||
.getNamespacePrefix(i));
|
||||
entry.addNamespace(namespace);
|
||||
}
|
||||
return entry;
|
||||
}
|
||||
|
||||
private GOMFeed startFeedDocument(GOMDocument aDocument)
|
||||
throws XMLStreamException {
|
||||
aDocument.setVersion(this.streamReader.getVersion());
|
||||
aDocument.setCharacterEncoding(this.streamReader
|
||||
.getCharacterEncodingScheme());
|
||||
GOMFeed feed = this.factory.createFeed();
|
||||
if (next() != XMLStreamConstants.START_ELEMENT)
|
||||
throw new GDataParseException("Expected start of feed element");
|
||||
processAttributes(feed);
|
||||
this.parserStack.push(feed);
|
||||
int count = this.streamReader.getNamespaceCount();
|
||||
for (int i = 0; i < count; i++) {
|
||||
|
||||
GOMNamespace namespace = new GOMNamespace(this.streamReader
|
||||
.getNamespaceURI(i), this.streamReader
|
||||
.getNamespacePrefix(i));
|
||||
System.out.println(namespace);
|
||||
feed.addNamespace(namespace);
|
||||
}
|
||||
return feed;
|
||||
}
|
||||
|
||||
private int next() throws XMLStreamException {
|
||||
return this.streamReader.next();
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,206 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import java.net.URISyntaxException;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import org.apache.lucene.gdata.gom.GOMAttribute;
|
||||
import org.apache.lucene.gdata.gom.GOMCategory;
|
||||
import org.apache.lucene.gdata.gom.GOMNamespace;
|
||||
import org.apache.lucene.gdata.gom.core.utils.AtomParserUtils;
|
||||
import org.apache.lucene.gdata.gom.core.utils.GOMUtils;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public class GOMCategoryImpl extends AbstractGOMElement implements GOMCategory {
|
||||
|
||||
private static final String DOMAIN = "domain";
|
||||
|
||||
protected String term;
|
||||
|
||||
protected String label;
|
||||
|
||||
protected String scheme;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public GOMCategoryImpl() {
|
||||
super();
|
||||
this.localName = LOCALNAME;
|
||||
this.qname = new QName(GOMNamespace.ATOM_NS_URI, this.localName);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMCategory#setTerm(java.lang.String)
|
||||
*/
|
||||
public void setTerm(String aTerm) {
|
||||
|
||||
this.term = aTerm;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMCategory#setLabel(java.lang.String)
|
||||
*/
|
||||
public void setLabel(String aLabel) {
|
||||
this.label = aLabel;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMCategory#setScheme(java.lang.String)
|
||||
*/
|
||||
public void setScheme(String aScheme) {
|
||||
this.scheme = aScheme;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMCategory#getTerm()
|
||||
*/
|
||||
public String getTerm() {
|
||||
return this.term;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMCategory#getScheme()
|
||||
*/
|
||||
public String getScheme() {
|
||||
return this.scheme;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMCategory#getLabel()
|
||||
*/
|
||||
public String getLabel() {
|
||||
return this.label;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.AbstractGOMElement#processAttribute(javax.xml.namespace.QName,
|
||||
* java.lang.String)
|
||||
*/
|
||||
@Override
|
||||
public void processAttribute(QName aQName, String aValue) {
|
||||
if (aQName == null)
|
||||
throw new GDataParseException("QName must not be null");
|
||||
if (aQName.getNamespaceURI().equals(GOMNamespace.ATOM_NS_URI)
|
||||
|| aQName.getNamespaceURI().equals("")) {
|
||||
String localPart = aQName.getLocalPart();
|
||||
if (localPart.equals(TERM_ATTRIBUTE)) {
|
||||
if (this.term != null)
|
||||
throw new GDataParseException(String.format(
|
||||
AtomParser.DUPLICATE_ATTRIBUTE, TERM_ATTRIBUTE));
|
||||
this.term = aValue;
|
||||
} else if (localPart.equals(LABLE_ATTRIBUTE)) {
|
||||
if (this.label != null)
|
||||
throw new GDataParseException(String.format(
|
||||
AtomParser.DUPLICATE_ATTRIBUTE, LABLE_ATTRIBUTE));
|
||||
this.label = aValue;
|
||||
} else if (localPart.equals(SCHEME_ATTRIBUTE)) {
|
||||
if (this.scheme != null)
|
||||
throw new GDataParseException(String.format(
|
||||
AtomParser.DUPLICATE_ATTRIBUTE, SCHEME_ATTRIBUTE));
|
||||
this.scheme = aValue;
|
||||
} else {
|
||||
super.processAttribute(aQName, aValue);
|
||||
}
|
||||
|
||||
} else {
|
||||
super.processAttribute(aQName, aValue);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.AbstractGOMElement#processEndElement()
|
||||
*/
|
||||
@Override
|
||||
public void processEndElement() {
|
||||
/*
|
||||
* ATOM defines "undefinedContent" for this. GData defines this as no
|
||||
* content containing element
|
||||
*/
|
||||
if (this.term == null)
|
||||
throw new GDataParseException(String.format(
|
||||
AtomParser.MISSING_ELEMENT_ATTRIBUTE, this.localName,
|
||||
TERM_ATTRIBUTE));
|
||||
if (this.scheme != null) {
|
||||
try {
|
||||
AtomParserUtils.getAbsolutAtomURI(this.xmlBase, this.scheme);
|
||||
} catch (URISyntaxException e) {
|
||||
throw new GDataParseException(String.format(
|
||||
AtomParser.INVALID_ATTRIBUTE, this.localName
|
||||
+ " attribute " + GOMCategory.SCHEME_ATTRIBUTE,
|
||||
"absolute uri"), e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMElement#writeAtomOutput(org.apache.lucene.gdata.gom.writer.GOMStaxWriter)
|
||||
*/
|
||||
public void writeAtomOutput(GOMOutputWriter aStreamWriter)
|
||||
throws XMLStreamException {
|
||||
if (aStreamWriter == null)
|
||||
throw new NullPointerException("StreamWriter is null");
|
||||
List<GOMAttribute> list = new LinkedList<GOMAttribute>();
|
||||
/*
|
||||
* term attribute is requiered for a category. attribute term { text },
|
||||
*/
|
||||
list.add(GOMUtils.buildDefaultNamespaceAttribute(this.term,
|
||||
TERM_ATTRIBUTE));
|
||||
if (this.scheme != null)
|
||||
list.add(GOMUtils.buildDefaultNamespaceAttribute(this.scheme,
|
||||
SCHEME_ATTRIBUTE));
|
||||
if (this.label != null)
|
||||
list.add(GOMUtils.buildDefaultNamespaceAttribute(this.label,
|
||||
LABLE_ATTRIBUTE));
|
||||
|
||||
if (this.xmlLang != null)
|
||||
list.add(GOMUtils
|
||||
.buildXMLNamespaceAttribute(this.xmlLang, XML_LANG));
|
||||
aStreamWriter.writeSimpleXMLElement(this.localName, list, null);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMElement#writeRssOutput(org.apache.lucene.gdata.gom.writer.GOMStaxWriter)
|
||||
*/
|
||||
public void writeRssOutput(GOMOutputWriter aStreamWriter)
|
||||
throws XMLStreamException {
|
||||
if (aStreamWriter == null)
|
||||
throw new NullPointerException("StreamWriter is null");
|
||||
List<GOMAttribute> list = getXmlNamespaceAttributes();
|
||||
/*
|
||||
* build this domain attr. even if scheme is null or empty
|
||||
*/
|
||||
list.add(GOMUtils.buildDefaultNamespaceAttribute(this.scheme, DOMAIN));
|
||||
|
||||
aStreamWriter.writeSimpleXMLElement(this.localName, list, this.term);
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,216 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import java.net.URISyntaxException;
|
||||
import java.util.List;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import org.apache.lucene.gdata.gom.AtomMediaType;
|
||||
import org.apache.lucene.gdata.gom.GOMAttribute;
|
||||
import org.apache.lucene.gdata.gom.GOMContent;
|
||||
import org.apache.lucene.gdata.gom.GOMNamespace;
|
||||
import org.apache.lucene.gdata.gom.core.utils.AtomParserUtils;
|
||||
import org.apache.lucene.gdata.gom.core.utils.GOMUtils;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public class GOMContentImpl extends GOMTextContructImpl implements GOMContent {
|
||||
private String src;
|
||||
|
||||
private String type;
|
||||
|
||||
private AtomMediaType mediaType;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public GOMContentImpl() {
|
||||
this.localName = GOMContent.LOCALNAME;
|
||||
this.qname = new QName(GOMNamespace.ATOM_NS_URI, this.localName);
|
||||
this.rssLocalName = GOMContent.LOCAL_NAME_RSS;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMContent#getSrc()
|
||||
*/
|
||||
public String getSrc() {
|
||||
return this.src;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMContent#setSrc(java.lang.String)
|
||||
*/
|
||||
public void setSrc(String aSrc) {
|
||||
this.src = aSrc;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.GOMTextContructImpl#processAttribute(javax.xml.namespace.QName,
|
||||
* java.lang.String)
|
||||
*/
|
||||
@Override
|
||||
public void processAttribute(QName aQName, String aValue) {
|
||||
if (aQName == null)
|
||||
throw new GDataParseException("QName must not be null");
|
||||
if (aValue == null)
|
||||
throw new GDataParseException("Value must not be null");
|
||||
if ("src".equals(aQName.getLocalPart())) {
|
||||
if (this.src != null)
|
||||
throw new GDataParseException(String.format(
|
||||
DUPLICATE_ATTRIBUTE, "src"));
|
||||
this.src = aValue;
|
||||
return;
|
||||
}
|
||||
if ("type".equals(aQName.getLocalPart())) {
|
||||
if (this.contentType != null || this.mediaType != null)
|
||||
throw new GDataParseException(String.format(
|
||||
DUPLICATE_ATTRIBUTE, "type"));
|
||||
if (AtomParserUtils.isAtomMediaType(aValue)) {
|
||||
this.type = aValue;
|
||||
this.mediaType = AtomParserUtils.getAtomMediaType(aValue);
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
super.processAttribute(aQName, aValue);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.GOMTextContructImpl#processElementValue(java.lang.String)
|
||||
*/
|
||||
@Override
|
||||
public void processElementValue(String aValue) {
|
||||
if (this.src != null)
|
||||
throw new GDataParseException(String.format(
|
||||
AtomParser.UNEXPECTED_ELEMENT_VALUE, this.localName
|
||||
+ " with attribute src set "));
|
||||
super.processElementValue(aValue);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.GOMTextContructImpl#processEndElement()
|
||||
*/
|
||||
@Override
|
||||
public void processEndElement() {
|
||||
if (this.src != null)
|
||||
try {
|
||||
AtomParserUtils.getAbsolutAtomURI(this.xmlBase, this.src);
|
||||
} catch (URISyntaxException e) {
|
||||
throw new GDataParseException(String.format(INVALID_ATTRIBUTE,
|
||||
"src", "absolute uri"), e);
|
||||
}
|
||||
|
||||
if (this.mediaType == null)
|
||||
super.processEndElement();
|
||||
else if (this.blobParser != null) {
|
||||
this.textValue = this.blobParser.toString();
|
||||
this.blobParser.close();
|
||||
this.blobParser = null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.GOMTextContructImpl#getChildParser(javax.xml.namespace.QName)
|
||||
*/
|
||||
@Override
|
||||
public AtomParser getChildParser(QName aName) {
|
||||
if (aName == null)
|
||||
throw new GDataParseException("QName must not be null");
|
||||
if (this.mediaType == AtomMediaType.XML) {
|
||||
if (this.blobParser != null)
|
||||
throw new GDataParseException(String.format(
|
||||
DUPLICATE_ELEMENT, aName.getLocalPart()));
|
||||
this.blobParser = new XMLBlobContentParser();
|
||||
return this.blobParser.getChildParser(aName);
|
||||
}
|
||||
return super.getChildParser(aName);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMElement#writeAtomOutput(org.apache.lucene.gdata.gom.writer.GOMStaxWriter)
|
||||
*/
|
||||
public void writeAtomOutput(GOMOutputWriter aStreamWriter)
|
||||
throws XMLStreamException {
|
||||
|
||||
if (this.mediaType != null) {
|
||||
List<GOMAttribute> xmlNamespaceAttributes = getXmlNamespaceAttributes();
|
||||
xmlNamespaceAttributes.add(GOMUtils.buildDefaultNamespaceAttribute(
|
||||
this.type, "type"));
|
||||
aStreamWriter.writeStartElement(this.localName,
|
||||
xmlNamespaceAttributes);
|
||||
if (this.src == null)
|
||||
aStreamWriter.writeContentUnescaped(this.textValue);
|
||||
else
|
||||
aStreamWriter.writeAttribute(GOMUtils
|
||||
.buildDefaultNamespaceAttribute(this.src, "src"));
|
||||
aStreamWriter.writeEndElement();
|
||||
|
||||
} else {
|
||||
super.writeAtomOutput(aStreamWriter);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.GOMTextContructImpl#writeRssOutput(org.apache.lucene.gdata.gom.writer.GOMStaxWriter)
|
||||
*/
|
||||
@Override
|
||||
public void writeRssOutput(GOMOutputWriter aStreamWriter)
|
||||
throws XMLStreamException {
|
||||
if (this.mediaType != null) {
|
||||
// if content is atomOutOfLineContent (has not textValue) ->
|
||||
// generate a <link> element.
|
||||
if (src != null) {
|
||||
aStreamWriter.writeSimpleXMLElement("link", null, this.src);
|
||||
} else if (this.mediaType == AtomMediaType.TEXT) {
|
||||
aStreamWriter.writeSimpleXMLElement("description", null,
|
||||
this.textValue);
|
||||
} else {
|
||||
// RSS doesn't support non-text content --> write atom type
|
||||
this.writeAtomOutput(aStreamWriter);
|
||||
}
|
||||
} else {
|
||||
super.writeRssOutput(aStreamWriter);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMContent#setAtomMediaType(org.apache.lucene.gdata.gom.AtomMediaType)
|
||||
*/
|
||||
public void setAtomMediaType(AtomMediaType aMediaType) {
|
||||
|
||||
this.mediaType = aMediaType;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMContent#getAtomMediaType()
|
||||
*/
|
||||
public AtomMediaType getAtomMediaType() {
|
||||
return this.mediaType;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,50 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import org.apache.lucene.gdata.gom.GOMAuthor;
|
||||
import org.apache.lucene.gdata.gom.GOMContributor;
|
||||
import org.apache.lucene.gdata.gom.GOMNamespace;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public class GOMContributorImpl extends GOMPersonImpl implements GOMContributor {
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.GOMPersonImpl#writeRssOutput(org.apache.lucene.gdata.gom.writer.GOMOutputWriter)
|
||||
*/
|
||||
@Override
|
||||
public void writeRssOutput(GOMOutputWriter aStreamWriter)
|
||||
throws XMLStreamException {
|
||||
writeRssOutput(aStreamWriter, GOMAuthor.LOCALNAME);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public GOMContributorImpl() {
|
||||
this.localName = GOMContributor.LOCALNAME;
|
||||
this.qname = new QName(GOMNamespace.ATOM_NS_URI, this.localName);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,100 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import org.apache.lucene.gdata.gom.GOMDateConstruct;
|
||||
import org.apache.lucene.gdata.gom.core.utils.GOMUtils;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;
|
||||
|
||||
/**
|
||||
* A Date construct is an element whose content MUST conform to the "date-time"
|
||||
* production in [RFC3339]. In addition, an uppercase "T" character MUST be used
|
||||
* to separate date and time, and an uppercase "Z" character MUST be present in
|
||||
* the absence of a numeric time zone offset.
|
||||
*
|
||||
* @author Simon Willnauer
|
||||
*/
|
||||
public abstract class GOMDateConstructImpl extends AbstractGOMElement implements
|
||||
GOMDateConstruct {
|
||||
protected long date;
|
||||
|
||||
/*
|
||||
* save the rfcString to skip the building while rendering the element
|
||||
*/
|
||||
protected String rfc3339String;
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMDateConstruct#setDate(java.util.Date)
|
||||
*/
|
||||
public void setDate(Date aDate) {
|
||||
if (aDate == null)
|
||||
return;
|
||||
this.date = aDate.getTime();
|
||||
this.rfc3339String = GOMUtils.buildRfc3339DateFormat(this.date);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMDateConstruct#getDate()
|
||||
*/
|
||||
public Date getDate() {
|
||||
return new Date(this.date);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.AbstractGOMElement#processElementValue(java.lang.String)
|
||||
*/
|
||||
@Override
|
||||
public void processElementValue(String aValue) {
|
||||
if (aValue == null)
|
||||
throw new IllegalArgumentException("element value must not be null");
|
||||
this.date = GOMUtils.parseRfc3339DateFormat(aValue);
|
||||
this.rfc3339String = aValue;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.AbstractGOMElement#processEndElement()
|
||||
*/
|
||||
@Override
|
||||
public void processEndElement() {
|
||||
if (this.rfc3339String == null)
|
||||
throw new GDataParseException(String.format(
|
||||
MISSING_ELEMENT_VALUE, this.localName,
|
||||
"RFC3339 Date Time"));
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMElement#writeAtomOutput(org.apache.lucene.gdata.gom.writer.GOMStaxWriter)
|
||||
*/
|
||||
public void writeAtomOutput(GOMOutputWriter aStreamWriter)
|
||||
throws XMLStreamException {
|
||||
if (this.rfc3339String == null)
|
||||
this.rfc3339String = GOMUtils
|
||||
.buildRfc3339DateFormat(this.date == 0 ? System
|
||||
.currentTimeMillis() : this.date);
|
||||
aStreamWriter.writeSimpleXMLElement(this.qname,
|
||||
getXmlNamespaceAttributes(), this.rfc3339String);
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,135 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import org.apache.lucene.gdata.gom.GOMDocument;
|
||||
import org.apache.lucene.gdata.gom.GOMElement;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
* @param <T>
|
||||
*/
|
||||
public class GOMDocumentImpl<T extends GOMElement> implements GOMDocument<T> {
|
||||
|
||||
private static final String DEFAULT_ENCODING = "UTF-8";
|
||||
|
||||
private static final String DEFAULT_VERSION = "1.0";
|
||||
|
||||
private T root;
|
||||
|
||||
private String version;
|
||||
|
||||
private String charEncoding;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public GOMDocumentImpl() {
|
||||
super();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMDocument#setRootElement(org.apache.lucene.gdata.gom.GOMElement)
|
||||
*/
|
||||
public void setRootElement(T aRootElement) {
|
||||
this.root = aRootElement;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMDocument#getRootElement()
|
||||
*/
|
||||
public T getRootElement() {
|
||||
return this.root;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMDocument#setVersion(java.lang.String)
|
||||
*/
|
||||
public void setVersion(String aVersion) {
|
||||
this.version = aVersion;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the version
|
||||
* @uml.property name="version"
|
||||
*/
|
||||
public String getVersion() {
|
||||
return this.version;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMDocument#getCharacterEncoding()
|
||||
*/
|
||||
public String getCharacterEncoding() {
|
||||
return this.charEncoding;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMDocument#setCharacterEncoding(java.lang.String)
|
||||
*/
|
||||
public void setCharacterEncoding(String aEncoding) {
|
||||
this.charEncoding = aEncoding;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMDocument#writeAtomOutput(org.apache.lucene.gdata.gom.writer.GOMStaxWriter)
|
||||
*/
|
||||
public void writeAtomOutput(GOMOutputWriter aStreamWriter)
|
||||
throws XMLStreamException {
|
||||
try {
|
||||
aStreamWriter.writeStartDocument(
|
||||
this.charEncoding == null ? DEFAULT_ENCODING
|
||||
: this.charEncoding,
|
||||
this.version == null ? DEFAULT_VERSION : this.version);
|
||||
if (this.root != null)
|
||||
this.root.writeAtomOutput(aStreamWriter);
|
||||
aStreamWriter.writeEndDocument();
|
||||
aStreamWriter.flush();
|
||||
} finally {
|
||||
aStreamWriter.close();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMDocument#writeRssOutput(org.apache.lucene.gdata.gom.writer.GOMStaxWriter)
|
||||
*/
|
||||
public void writeRssOutput(GOMOutputWriter aStreamWriter)
|
||||
throws XMLStreamException {
|
||||
try {
|
||||
aStreamWriter.writeStartDocument(
|
||||
this.charEncoding == null ? DEFAULT_ENCODING
|
||||
: this.charEncoding,
|
||||
this.version == null ? DEFAULT_VERSION : this.version);
|
||||
if (this.root != null) {
|
||||
this.root.writeRssOutput(aStreamWriter);
|
||||
}
|
||||
aStreamWriter.writeEndDocument();
|
||||
aStreamWriter.flush();
|
||||
} finally {
|
||||
aStreamWriter.close();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,668 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import org.apache.lucene.gdata.gom.AtomMediaType;
|
||||
import org.apache.lucene.gdata.gom.GOMAuthor;
|
||||
import org.apache.lucene.gdata.gom.GOMCategory;
|
||||
import org.apache.lucene.gdata.gom.GOMContent;
|
||||
import org.apache.lucene.gdata.gom.GOMContributor;
|
||||
import org.apache.lucene.gdata.gom.GOMEntry;
|
||||
import org.apache.lucene.gdata.gom.GOMExtension;
|
||||
import org.apache.lucene.gdata.gom.GOMId;
|
||||
import org.apache.lucene.gdata.gom.GOMLink;
|
||||
import org.apache.lucene.gdata.gom.GOMNamespace;
|
||||
import org.apache.lucene.gdata.gom.GOMPublished;
|
||||
import org.apache.lucene.gdata.gom.GOMRights;
|
||||
import org.apache.lucene.gdata.gom.GOMSource;
|
||||
import org.apache.lucene.gdata.gom.GOMSummary;
|
||||
import org.apache.lucene.gdata.gom.GOMTitle;
|
||||
import org.apache.lucene.gdata.gom.GOMUpdated;
|
||||
import org.apache.lucene.gdata.gom.core.extension.GOMExtensionFactory;
|
||||
import org.apache.lucene.gdata.gom.core.utils.AtomParserUtils;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;
|
||||
|
||||
/**
|
||||
*
|
||||
* The default implementation of {@link org.apache.lucene.gdata.gom.GOMEntry}
|
||||
*
|
||||
* <pre>
|
||||
* atomEntry =
|
||||
* element atom:entry {
|
||||
* atomCommonAttributes,
|
||||
* ( atomAuthor*
|
||||
* & atomCategory*
|
||||
* & atomContent?
|
||||
* & atomContributor*
|
||||
* & atomId
|
||||
* & atomLink*
|
||||
* & atomPublished?
|
||||
* & atomRights?
|
||||
* & atomSource?
|
||||
* & atomSummary?
|
||||
* & atomTitle
|
||||
* & atomUpdated
|
||||
* & extensionElement*)
|
||||
* }
|
||||
* </pre>
|
||||
*
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public class GOMEntryImpl extends AbstractGOMElement implements GOMEntry {
|
||||
|
||||
protected List<GOMNamespace> namespaces = new LinkedList<GOMNamespace>();
|
||||
|
||||
protected List<GOMExtension> extensions = new LinkedList<GOMExtension>();
|
||||
|
||||
private List<GOMAuthor> authors = new LinkedList<GOMAuthor>();
|
||||
|
||||
private List<GOMCategory> categories = new LinkedList<GOMCategory>();
|
||||
|
||||
private List<GOMContributor> contributors = new LinkedList<GOMContributor>();
|
||||
|
||||
private GOMId id;
|
||||
|
||||
private List<GOMLink> links = new LinkedList<GOMLink>();
|
||||
|
||||
private GOMPublished published;
|
||||
|
||||
private GOMRights rights;
|
||||
|
||||
private GOMSource source;
|
||||
|
||||
private GOMSummary summary;
|
||||
|
||||
private GOMTitle title;
|
||||
|
||||
private GOMUpdated updated;
|
||||
|
||||
private GOMExtensionFactory extensionFactory;
|
||||
|
||||
private GOMContent content;
|
||||
|
||||
private final GOMNamespace defaultNamespace = GOMNamespace.ATOM_NAMESPACE;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public GOMEntryImpl() {
|
||||
super();
|
||||
this.localName = GOMEntry.LOCALNAME;
|
||||
this.qname = new QName(GOMNamespace.ATOM_NS_URI, this.localName);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMEntry#addAuthor(org.apache.lucene.gdata.gom.GOMAuthor)
|
||||
*/
|
||||
public void addAuthor(GOMAuthor aAuthor) {
|
||||
if (aAuthor != null)
|
||||
this.authors.add(aAuthor);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMEntry#addCategory(org.apache.lucene.gdata.gom.GOMCategory)
|
||||
*/
|
||||
public void addCategory(GOMCategory aCategory) {
|
||||
if (aCategory != null)
|
||||
this.categories.add(aCategory);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMEntry#addContributor(org.apache.lucene.gdata.gom.GOMContributor)
|
||||
*/
|
||||
public void addContributor(GOMContributor aContributor) {
|
||||
if (aContributor != null)
|
||||
this.contributors.add(aContributor);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMEntry#addLink(org.apache.lucene.gdata.gom.GOMLink)
|
||||
*/
|
||||
public void addLink(GOMLink aLink) {
|
||||
if (aLink != null)
|
||||
this.links.add(aLink);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMEntry#getAuthors()
|
||||
*/
|
||||
public List<GOMAuthor> getAuthors() {
|
||||
return this.authors;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMEntry#getCategories()
|
||||
*/
|
||||
public List<GOMCategory> getCategories() {
|
||||
return this.categories;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMEntry#getContributor()
|
||||
*/
|
||||
public List<GOMContributor> getContributor() {
|
||||
return this.contributors;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMEntry#getId()
|
||||
*/
|
||||
public GOMId getId() {
|
||||
return this.id;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMEntry#getLinks()
|
||||
*/
|
||||
public List<GOMLink> getLinks() {
|
||||
return this.links;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMEntry#getPublished()
|
||||
*/
|
||||
public GOMPublished getPublished() {
|
||||
return this.published;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMEntry#getRights()
|
||||
*/
|
||||
public GOMRights getRights() {
|
||||
return this.rights;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMEntry#getSource()
|
||||
*/
|
||||
public GOMSource getSource() {
|
||||
return this.source;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMEntry#getSummary()
|
||||
*/
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMEntry#getSummary()
|
||||
*/
|
||||
public GOMSummary getSummary() {
|
||||
return this.summary;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMEntry#getTitle()
|
||||
*/
|
||||
public GOMTitle getTitle() {
|
||||
return this.title;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMEntry#getUpdated()
|
||||
*/
|
||||
public GOMUpdated getUpdated() {
|
||||
return this.updated;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMEntry#setId(org.apache.lucene.gdata.gom.GOMId)
|
||||
*/
|
||||
public void setId(GOMId aId) {
|
||||
this.id = aId;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMEntry#setPublished(org.apache.lucene.gdata.gom.GOMPublished)
|
||||
*/
|
||||
public void setPublished(GOMPublished aPublished) {
|
||||
this.published = aPublished;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMEntry#setRights(org.apache.lucene.gdata.gom.GOMRights)
|
||||
*/
|
||||
public void setRights(GOMRights aRights) {
|
||||
this.rights = aRights;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMEntry#setSource(org.apache.lucene.gdata.gom.GOMSource)
|
||||
*/
|
||||
public void setSource(GOMSource aSource) {
|
||||
this.source = aSource;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMEntry#setSummary(org.apache.lucene.gdata.gom.GOMSummary)
|
||||
*/
|
||||
public void setSummary(GOMSummary aSummary) {
|
||||
this.summary = aSummary;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMEntry#setTitle(org.apache.lucene.gdata.gom.GOMTitle)
|
||||
*/
|
||||
public void setTitle(GOMTitle aTitle) {
|
||||
this.title = aTitle;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMEntry#setUpdated(org.apache.lucene.gdata.gom.GOMUpdated)
|
||||
*/
|
||||
public void setUpdated(GOMUpdated aUpdated) {
|
||||
this.updated = aUpdated;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMEntry#addNamespace(org.apache.lucene.gdata.gom.GOMNamespace)
|
||||
*/
|
||||
public void addNamespace(GOMNamespace aNamespace) {
|
||||
if (aNamespace == null)
|
||||
return;
|
||||
// namespace overrides hash / equals
|
||||
if (this.namespaces.contains(aNamespace))
|
||||
return;
|
||||
if ("".equals(aNamespace.getNamespacePrefix())
|
||||
|| aNamespace.getNamespaceUri()
|
||||
.equals(GOMNamespace.ATOM_NS_URI))
|
||||
return;
|
||||
else
|
||||
this.namespaces.add(aNamespace);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMEntry#getNamespaces()
|
||||
*/
|
||||
public List<GOMNamespace> getNamespaces() {
|
||||
return this.namespaces;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMEntry#getDefaultNamespace()
|
||||
*/
|
||||
public GOMNamespace getDefaultNamespace() {
|
||||
|
||||
return this.defaultNamespace;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMElement#writeAtomOutput(org.apache.lucene.gdata.gom.writer.GOMStaxWriter)
|
||||
*/
|
||||
public void writeAtomOutput(GOMOutputWriter aStreamWriter)
|
||||
throws XMLStreamException {
|
||||
aStreamWriter
|
||||
.writeStartElement(this.qname, getXmlNamespaceAttributes());
|
||||
if (this.defaultNamespace != null)
|
||||
aStreamWriter.writeDefaultNamespace(this.defaultNamespace);
|
||||
for (GOMNamespace namespace : this.namespaces) {
|
||||
aStreamWriter.writeNamespace(namespace);
|
||||
}
|
||||
if (this.id != null)
|
||||
this.id.writeAtomOutput(aStreamWriter);
|
||||
if (this.published != null)
|
||||
this.published.writeAtomOutput(aStreamWriter);
|
||||
if (this.updated != null)
|
||||
this.updated.writeAtomOutput(aStreamWriter);
|
||||
for (GOMCategory category : this.categories) {
|
||||
category.writeAtomOutput(aStreamWriter);
|
||||
}
|
||||
if (this.title != null)
|
||||
this.title.writeAtomOutput(aStreamWriter);
|
||||
if (this.summary != null)
|
||||
this.summary.writeAtomOutput(aStreamWriter);
|
||||
if (this.content != null)
|
||||
this.content.writeAtomOutput(aStreamWriter);
|
||||
for (GOMLink link : this.links) {
|
||||
link.writeAtomOutput(aStreamWriter);
|
||||
}
|
||||
for (GOMAuthor autor : this.authors) {
|
||||
autor.writeAtomOutput(aStreamWriter);
|
||||
}
|
||||
for (GOMContributor contributor : this.contributors) {
|
||||
contributor.writeAtomOutput(aStreamWriter);
|
||||
}
|
||||
if (this.rights != null) {
|
||||
this.rights.writeAtomOutput(aStreamWriter);
|
||||
}
|
||||
if (this.source != null) {
|
||||
this.source.writeAtomOutput(aStreamWriter);
|
||||
}
|
||||
|
||||
for (GOMExtension extension : this.extensions) {
|
||||
extension.writeAtomOutput(aStreamWriter);
|
||||
}
|
||||
aStreamWriter.writeEndElement();
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMElement#writeRssOutput(org.apache.lucene.gdata.gom.writer.GOMStaxWriter)
|
||||
*/
|
||||
public void writeRssOutput(GOMOutputWriter aStreamWriter)
|
||||
throws XMLStreamException {
|
||||
aStreamWriter.writeStartElement(GOMEntry.LOCALNAME_RSS,
|
||||
getXmlNamespaceAttributes());
|
||||
if (this.defaultNamespace != null)
|
||||
aStreamWriter.writeNamespace(this.defaultNamespace);
|
||||
for (GOMNamespace namespace : this.namespaces) {
|
||||
aStreamWriter.writeNamespace(namespace);
|
||||
}
|
||||
if (this.id != null)
|
||||
this.id.writeRssOutput(aStreamWriter, GOMId.LOCALNAME_RSS);
|
||||
String xmlLang = null;
|
||||
|
||||
if (this.content != null) {
|
||||
xmlLang = this.content.getXmlLang();
|
||||
}
|
||||
if (xmlLang == null && this.summary != null) {
|
||||
xmlLang = this.summary.getXmlLang();
|
||||
}
|
||||
|
||||
if (xmlLang == null && this.title != null) {
|
||||
xmlLang = this.title.getXmlLang();
|
||||
}
|
||||
|
||||
if (xmlLang != null) {
|
||||
aStreamWriter.writeSimpleXMLElement("language", xmlLang, null);
|
||||
}
|
||||
if (this.published != null) {
|
||||
this.published.writeRssOutput(aStreamWriter);
|
||||
}
|
||||
if (this.updated != null)
|
||||
this.updated.writeRssOutput(aStreamWriter);
|
||||
for (GOMCategory category : this.categories) {
|
||||
category.writeRssOutput(aStreamWriter);
|
||||
}
|
||||
if (this.title != null)
|
||||
this.title.writeRssOutput(aStreamWriter);
|
||||
if (this.summary != null)
|
||||
this.summary.writeRssOutput(aStreamWriter);
|
||||
if (this.content != null)
|
||||
this.content.writeRssOutput(aStreamWriter);
|
||||
for (GOMLink link : this.links) {
|
||||
link.writeRssOutput(aStreamWriter);
|
||||
}
|
||||
for (GOMAuthor author : this.authors) {
|
||||
author.writeRssOutput(aStreamWriter);
|
||||
}
|
||||
|
||||
for (GOMContributor contributors : this.contributors) {
|
||||
contributors.writeRssOutput(aStreamWriter);
|
||||
}
|
||||
|
||||
for (GOMExtension extension : this.extensions) {
|
||||
extension.writeRssOutput(aStreamWriter);
|
||||
}
|
||||
aStreamWriter.writeEndElement();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.AbstractGOMElement#getChildParser(javax.xml.namespace.QName)
|
||||
*/
|
||||
@Override
|
||||
public AtomParser getChildParser(QName aName) {
|
||||
if (aName.getNamespaceURI().equals(GOMNamespace.ATOM_NS_URI)) {
|
||||
if (aName.getLocalPart().equals(GOMId.LOCALNAME)) {
|
||||
// atom:feed elements MUST contain exactly one atom:id element.
|
||||
if (this.id != null)
|
||||
throw new GDataParseException(String.format(
|
||||
AtomParser.DUPLICATE_ELEMENT, GOMId.LOCALNAME));
|
||||
this.id = new GOMIdImpl();
|
||||
return this.id;
|
||||
}
|
||||
if (aName.getLocalPart().equals(GOMTitle.LOCALNAME)) {
|
||||
// atom:entry elements MUST contain exactly one atom:title
|
||||
// element.
|
||||
if (this.title != null)
|
||||
throw new GDataParseException(String.format(
|
||||
AtomParser.DUPLICATE_ELEMENT, GOMTitle.LOCALNAME));
|
||||
this.title = new GOMTitleImpl();
|
||||
return this.title;
|
||||
}
|
||||
if (aName.getLocalPart().equals(GOMAuthor.LOCALNAME)) {
|
||||
GOMAuthor author = new GOMAuthorImpl();
|
||||
this.authors.add(author);
|
||||
return author;
|
||||
}
|
||||
if (aName.getLocalPart().equals(GOMCategory.LOCALNAME)) {
|
||||
GOMCategory category = new GOMCategoryImpl();
|
||||
this.categories.add(category);
|
||||
return category;
|
||||
}
|
||||
if (aName.getLocalPart().equals(GOMContributor.LOCALNAME)) {
|
||||
GOMContributorImpl impl = new GOMContributorImpl();
|
||||
this.contributors.add(impl);
|
||||
return impl;
|
||||
}
|
||||
if (aName.getLocalPart().equals(GOMLink.LOCALNAME)) {
|
||||
GOMLinkImpl impl = new GOMLinkImpl();
|
||||
this.links.add(impl);
|
||||
return impl;
|
||||
}
|
||||
|
||||
if (aName.getLocalPart().equals(GOMUpdated.LOCALNAME)) {
|
||||
if (this.updated != null)
|
||||
throw new GDataParseException(String.format(
|
||||
AtomParser.DUPLICATE_ELEMENT,
|
||||
GOMUpdated.LOCALNAME));
|
||||
GOMUpdated updatedImpl = new GOMUpdatedImpl();
|
||||
this.updated = updatedImpl;
|
||||
return this.updated;
|
||||
|
||||
}
|
||||
if (aName.getLocalPart().equals(GOMRights.LOCALNAME)) {
|
||||
if (this.rights != null)
|
||||
throw new GDataParseException(String
|
||||
.format(AtomParser.DUPLICATE_ELEMENT,
|
||||
GOMRights.LOCALNAME));
|
||||
|
||||
this.rights = new GOMRightsImpl();
|
||||
return this.rights;
|
||||
|
||||
}
|
||||
if (aName.getLocalPart().equals(GOMSource.LOCALNAME)) {
|
||||
if (this.source != null)
|
||||
throw new GDataParseException(String
|
||||
.format(AtomParser.DUPLICATE_ELEMENT,
|
||||
GOMSource.LOCALNAME));
|
||||
this.source = new GOMSourceImpl();
|
||||
|
||||
return this.source;
|
||||
|
||||
}
|
||||
if (aName.getLocalPart().equals(GOMSummary.LOCALNAME)) {
|
||||
if (this.summary != null)
|
||||
throw new GDataParseException(String.format(
|
||||
AtomParser.DUPLICATE_ELEMENT,
|
||||
GOMSummary.LOCALNAME));
|
||||
|
||||
this.summary = new GOMSummaryImpl();
|
||||
return this.summary;
|
||||
|
||||
}
|
||||
if (aName.getLocalPart().equals(GOMPublished.LOCALNAME)) {
|
||||
if (this.published != null)
|
||||
throw new GDataParseException(String.format(
|
||||
AtomParser.DUPLICATE_ELEMENT,
|
||||
GOMPublished.LOCALNAME));
|
||||
|
||||
this.published = new GOMPublishedImpl();
|
||||
return this.published;
|
||||
|
||||
}
|
||||
if (aName.getLocalPart().endsWith(GOMContent.LOCALNAME)) {
|
||||
if (this.content != null)
|
||||
throw new GDataParseException(String.format(
|
||||
AtomParser.DUPLICATE_ELEMENT,
|
||||
GOMContent.LOCALNAME));
|
||||
this.content = new GOMContentImpl();
|
||||
return this.content;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
if (this.extensionFactory != null) {
|
||||
GOMExtension extension = this.extensionFactory
|
||||
.canHandleExtensionElement(aName);
|
||||
if (extension != null) {
|
||||
this.extensions.add(extension);
|
||||
return extension;
|
||||
}
|
||||
}
|
||||
return super.getChildParser(aName);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.AbstractGOMElement#processEndElement()
|
||||
*/
|
||||
@Override
|
||||
public void processEndElement() {
|
||||
|
||||
/*
|
||||
* atom:entry elements MUST contain an atom:summary element in either of
|
||||
* the following cases:
|
||||
*
|
||||
* the atom:entry contains an atom:content that has a "src" attribute
|
||||
* (and is thus empty). the atom:entry contains content that is encoded
|
||||
* in Base64; i.e., the "type" attribute of atom:content is a MIME media
|
||||
* type [MIMEREG], but is not an XML media type [RFC3023], does not
|
||||
* begin with "text/", and does not end with "/xml" or "+xml".
|
||||
*
|
||||
*
|
||||
*/
|
||||
if (this.summary == null && this.content != null) {
|
||||
|
||||
if (this.content.getAtomMediaType() == AtomMediaType.BINARY
|
||||
|| "".equals(this.content.getSrc())) {
|
||||
throw new GDataParseException(String.format(
|
||||
MISSING_ELEMENT_CHILD, this.localName,
|
||||
GOMSummary.LOCALNAME));
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* atom:entry elements MUST contain exactly one atom:id element.
|
||||
*/
|
||||
if (this.id == null)
|
||||
throw new GDataParseException(String.format(
|
||||
MISSING_ELEMENT_CHILD, this.localName, GOMId.LOCALNAME));
|
||||
/*
|
||||
* atom:entry elements MUST contain exactly one atom:title element.
|
||||
*/
|
||||
if (this.title == null)
|
||||
throw new GDataParseException(String
|
||||
.format(MISSING_ELEMENT_CHILD, this.localName,
|
||||
GOMTitle.LOCALNAME));
|
||||
/*
|
||||
* atom:entry elements MUST contain exactly one atom:updated element.
|
||||
*/
|
||||
if (this.updated == null)
|
||||
throw new GDataParseException(String.format(
|
||||
MISSING_ELEMENT_CHILD, this.localName,
|
||||
GOMUpdated.LOCALNAME));
|
||||
|
||||
/*
|
||||
* atom:entry elements MUST NOT contain more than one atom:link element
|
||||
* with a rel attribute value of "alternate" that has the same
|
||||
* combination of type and hreflang attribute values.
|
||||
*/
|
||||
List<GOMLink> alternateLinks = new LinkedList<GOMLink>();
|
||||
for (GOMLink link : this.links) {
|
||||
/*
|
||||
* atom:link elements MAY have a "rel" attribute that indicates the
|
||||
* link relation type. If the "rel" attribute is not present, the
|
||||
* link element MUST be interpreted as if the link relation type is
|
||||
* "alternate".
|
||||
*/
|
||||
if (link.getRel() == null
|
||||
|| link.getRel().equalsIgnoreCase("alternate"))
|
||||
alternateLinks.add(link);
|
||||
}
|
||||
|
||||
/*
|
||||
* atom:entry elements MUST NOT contain more than one atom:link element
|
||||
* with a rel attribute value of "alternate" that has the same
|
||||
* combination of type and hreflang attribute values.
|
||||
*/
|
||||
if (alternateLinks.size() > 1) {
|
||||
for (GOMLink link : alternateLinks) {
|
||||
for (GOMLink link2 : alternateLinks) {
|
||||
if (AtomParserUtils.compareAlternateLinks(link, link2))
|
||||
throw new GDataParseException(
|
||||
String
|
||||
.format(DUPLICATE_ELEMENT,
|
||||
"link with rel=\"alternate\" and same href and type attributes"));
|
||||
|
||||
}
|
||||
}
|
||||
} else if (this.content == null && alternateLinks.size() == 0) {
|
||||
throw new GDataParseException(
|
||||
"Element Entry must contain a element link with attribute alternate if no content element is set");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMExtensible#getExtensions()
|
||||
*/
|
||||
public List<GOMExtension> getExtensions() {
|
||||
return this.extensions;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMExtensible#setExtensionFactory(org.apache.lucene.gdata.gom.core.extension.GOMExtensionFactory)
|
||||
*/
|
||||
public void setExtensionFactory(GOMExtensionFactory aFactory) {
|
||||
if (extensionFactory != null) {
|
||||
List<GOMNamespace> namespaces2 = extensionFactory.getNamespaces();
|
||||
if (namespaces2 != null)
|
||||
for (GOMNamespace namespace : namespaces2) {
|
||||
this.addNamespace(namespace);
|
||||
}
|
||||
|
||||
}
|
||||
this.extensionFactory = aFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMEntry#getContent()
|
||||
*/
|
||||
public GOMContent getContent() {
|
||||
return this.content;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMEntry#setContent(org.apache.lucene.gdata.gom.GOMContent)
|
||||
*/
|
||||
public void setContent(GOMContent aContent) {
|
||||
this.content = aContent;
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,47 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import org.apache.lucene.gdata.gom.GOMEntry;
|
||||
import org.apache.lucene.gdata.gom.GOMFeed;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public class GOMFactory {
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private GOMFactory() {
|
||||
super();
|
||||
}
|
||||
|
||||
public static GOMFactory createInstance() {
|
||||
return new GOMFactory();
|
||||
}
|
||||
|
||||
public GOMFeed createFeed() {
|
||||
return new GOMFeedImpl();
|
||||
}
|
||||
|
||||
public GOMEntry createEntry() {
|
||||
return new GOMEntryImpl();
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,381 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import org.apache.lucene.gdata.gom.GOMAttribute;
|
||||
import org.apache.lucene.gdata.gom.GOMAuthor;
|
||||
import org.apache.lucene.gdata.gom.GOMCategory;
|
||||
import org.apache.lucene.gdata.gom.GOMEntry;
|
||||
import org.apache.lucene.gdata.gom.GOMExtension;
|
||||
import org.apache.lucene.gdata.gom.GOMFeed;
|
||||
import org.apache.lucene.gdata.gom.GOMLink;
|
||||
import org.apache.lucene.gdata.gom.GOMNamespace;
|
||||
import org.apache.lucene.gdata.gom.core.extension.GOMExtensionFactory;
|
||||
import org.apache.lucene.gdata.gom.core.utils.GOMUtils;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;
|
||||
|
||||
/**
|
||||
* atom:feed { atomCommonAttributes, (atomAuthor* & atomCategory* &
|
||||
* atomContributor* & atomGenerator? & atomIcon? & atomId & atomLink* &
|
||||
* atomLogo? & atomRights? & atomSubtitle? & atomTitle & atomUpdated &
|
||||
* extensionElement*), atomEntry* }
|
||||
*
|
||||
* @author Simon Willnauer
|
||||
*/
|
||||
class GOMFeedImpl extends GOMSourceImpl implements GOMFeed {
|
||||
// TODO add totalResults OS namespace
|
||||
|
||||
static final int DEFAULT_START_INDEX = 1;
|
||||
|
||||
static final int DEFAULT_ITEMS_PER_PAGE = 25;
|
||||
|
||||
private static final GOMAttribute RSS_VERSION_ATTRIBUTE = new GOMAttributeImpl(
|
||||
"version", "2.0");
|
||||
|
||||
protected List<GOMEntry> entries = new LinkedList<GOMEntry>();
|
||||
|
||||
protected List<GOMExtension> extensions = new LinkedList<GOMExtension>();
|
||||
|
||||
protected List<GOMNamespace> namespaces = new LinkedList<GOMNamespace>();
|
||||
|
||||
private SimpleGOMElementImpl startIndexElement;
|
||||
|
||||
private SimpleGOMElementImpl itemsPerPageElement;
|
||||
|
||||
private GOMExtensionFactory extensionFactory;
|
||||
|
||||
private GOMNamespace defaultNamespace = GOMNamespace.ATOM_NAMESPACE;
|
||||
|
||||
GOMFeedImpl() {
|
||||
this.localName = GOMFeed.LOCALNAME;
|
||||
this.qname = new QName(GOMNamespace.ATOM_NS_URI, this.localName);
|
||||
startIndexElement = new SimpleGOMElementImpl(
|
||||
SimpleGOMElementImpl.ELEMENT_OS_START_INDEX,
|
||||
GOMNamespace.OPENSEARCH_NAMESPACE);
|
||||
itemsPerPageElement = new SimpleGOMElementImpl(
|
||||
SimpleGOMElementImpl.ELEMENT_OS_ITEMS_PER_PAGE,
|
||||
GOMNamespace.OPENSEARCH_NAMESPACE);
|
||||
itemsPerPageElement.setTextValue(Integer
|
||||
.toString(DEFAULT_ITEMS_PER_PAGE));
|
||||
startIndexElement.setTextValue(Integer.toString(DEFAULT_START_INDEX));
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMSource#addEntry(org.apache.lucene.gdata.gom.GOMEntry)
|
||||
*/
|
||||
public void addEntry(GOMEntry aEntry) {
|
||||
if (aEntry != null)
|
||||
this.entries.add(aEntry);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMFeed#getEntries()
|
||||
*/
|
||||
public List<GOMEntry> getEntries() {
|
||||
return this.entries;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMFeed#getItemsPerPage()
|
||||
*/
|
||||
public int getItemsPerPage() {
|
||||
return Integer.parseInt(this.itemsPerPageElement.getTextValue());
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMFeed#getStartIndex()
|
||||
*/
|
||||
public int getStartIndex() {
|
||||
return Integer.parseInt(this.startIndexElement.getTextValue());
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMFeed#setStartIndex(int)
|
||||
*/
|
||||
public void setStartIndex(int aIndex) {
|
||||
if (aIndex < 1)
|
||||
return;
|
||||
this.startIndexElement.textValue = Integer.toString(aIndex);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMFeed#setItemsPerPage(int)
|
||||
*/
|
||||
public void setItemsPerPage(int aInt) {
|
||||
if (aInt < 0)
|
||||
return;
|
||||
this.itemsPerPageElement.textValue = Integer.toString(aInt);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMFeed#addNamespace(org.apache.lucene.gdata.gom.GOMNamespace)
|
||||
*/
|
||||
public void addNamespace(GOMNamespace aNamespace) {
|
||||
if (aNamespace == null)
|
||||
return;
|
||||
// namespace overrides hash / equals
|
||||
if (this.namespaces.contains(aNamespace))
|
||||
return;
|
||||
if ("".equals(aNamespace.getNamespacePrefix())
|
||||
|| aNamespace.getNamespaceUri()
|
||||
.equals(GOMNamespace.ATOM_NS_URI))
|
||||
return;
|
||||
else
|
||||
this.namespaces.add(aNamespace);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMFeed#getDefaultNamespace()
|
||||
*/
|
||||
public GOMNamespace getDefaultNamespace() {
|
||||
return this.defaultNamespace;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMFeed#getNamespaces()
|
||||
*
|
||||
*/
|
||||
public List<GOMNamespace> getNamespaces() {
|
||||
return this.namespaces;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.AtomParser#getChildParser(javax.xml.namespace.QName)
|
||||
*/
|
||||
public AtomParser getChildParser(QName aName) {
|
||||
if (aName.getNamespaceURI().equals(GOMNamespace.OPENSEARCH_NS_URI)) {
|
||||
if (aName.getLocalPart().equals(
|
||||
SimpleGOMElementImpl.ELEMENT_OS_ITEMS_PER_PAGE)) {
|
||||
|
||||
this.itemsPerPageElement = new SimpleGOMElementImpl(
|
||||
SimpleGOMElementImpl.ELEMENT_OS_ITEMS_PER_PAGE,
|
||||
GOMNamespace.OPENSEARCH_NAMESPACE);
|
||||
this.itemsPerPageElement
|
||||
.setValidator(new PositiveIntegerValidator(
|
||||
SimpleGOMElementImpl.ELEMENT_OS_ITEMS_PER_PAGE));
|
||||
return this.itemsPerPageElement;
|
||||
}
|
||||
if (aName.getLocalPart().equals(
|
||||
SimpleGOMElementImpl.ELEMENT_OS_START_INDEX)) {
|
||||
this.startIndexElement = new SimpleGOMElementImpl(
|
||||
SimpleGOMElementImpl.ELEMENT_OS_START_INDEX,
|
||||
GOMNamespace.OPENSEARCH_NAMESPACE);
|
||||
this.startIndexElement
|
||||
.setValidator(new PositiveIntegerValidator(
|
||||
SimpleGOMElementImpl.ELEMENT_OS_START_INDEX));
|
||||
return this.startIndexElement;
|
||||
}
|
||||
|
||||
}
|
||||
if (aName.getNamespaceURI().equals(GOMNamespace.ATOM_NS_URI)
|
||||
&& aName.getLocalPart().equals(GOMEntry.LOCALNAME)) {
|
||||
GOMEntry entry = new GOMEntryImpl();
|
||||
this.entries.add(entry);
|
||||
return entry;
|
||||
|
||||
}
|
||||
if (this.extensionFactory != null) {
|
||||
GOMExtension extension = this.extensionFactory
|
||||
.canHandleExtensionElement(aName);
|
||||
if (extension != null) {
|
||||
this.extensions.add(extension);
|
||||
return extension;
|
||||
}
|
||||
}
|
||||
return super.getChildParser(aName);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMElement#writeAtomOutput(org.apache.lucene.gdata.gom.writer.GOMStaxWriter)
|
||||
*/
|
||||
public void writeAtomOutput(GOMOutputWriter aStreamWriter)
|
||||
throws XMLStreamException {
|
||||
aStreamWriter.writeStartElement(this.localName,
|
||||
this.extensionAttributes);
|
||||
if (this.defaultNamespace != null)
|
||||
aStreamWriter.writeDefaultNamespace(this.defaultNamespace);
|
||||
for (GOMNamespace namespace : this.namespaces) {
|
||||
aStreamWriter.writeNamespace(namespace);
|
||||
}
|
||||
List<GOMAttribute> xmlNamespaceAttributes = getXmlNamespaceAttributes();
|
||||
for (GOMAttribute attribute : xmlNamespaceAttributes) {
|
||||
aStreamWriter.writeAttribute(attribute);
|
||||
}
|
||||
writeInnerAtomOutput(aStreamWriter);
|
||||
if (this.itemsPerPageElement != null)
|
||||
this.itemsPerPageElement.writeAtomOutput(aStreamWriter);
|
||||
if (this.startIndexElement != null)
|
||||
this.startIndexElement.writeAtomOutput(aStreamWriter);
|
||||
for (GOMExtension extension : this.extensions) {
|
||||
extension.writeAtomOutput(aStreamWriter);
|
||||
}
|
||||
for (GOMEntry entry : this.entries) {
|
||||
entry.writeAtomOutput(aStreamWriter);
|
||||
}
|
||||
|
||||
aStreamWriter.writeEndElement();
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMElement#writeRssOutput(org.apache.lucene.gdata.gom.writer.GOMStaxWriter)
|
||||
*/
|
||||
public void writeRssOutput(GOMOutputWriter aStreamWriter)
|
||||
throws XMLStreamException {
|
||||
aStreamWriter
|
||||
.writeStartElement(LOCALNAME_RSS, this.extensionAttributes);
|
||||
List<GOMAttribute> xmlNamespaceAttributes = getXmlNamespaceAttributes();
|
||||
for (GOMAttribute attribute : xmlNamespaceAttributes) {
|
||||
aStreamWriter.writeAttribute(attribute);
|
||||
}
|
||||
if (this.defaultNamespace != null)
|
||||
aStreamWriter.writeNamespace(this.defaultNamespace);
|
||||
for (GOMNamespace namespace : this.namespaces) {
|
||||
aStreamWriter.writeNamespace(namespace);
|
||||
}
|
||||
aStreamWriter.writeAttribute(RSS_VERSION_ATTRIBUTE);
|
||||
|
||||
aStreamWriter.writeStartElement(RSS_CHANNEL_ELEMENT_NAME);
|
||||
|
||||
if (this.id != null)
|
||||
this.id.writeRssOutput(aStreamWriter);
|
||||
if (this.title != null)
|
||||
this.title.writeRssOutput(aStreamWriter);
|
||||
if (this.subtitle != null)
|
||||
this.subtitle.writeRssOutput(aStreamWriter);
|
||||
if (this.rights != null)
|
||||
this.rights.writeRssOutput(aStreamWriter);
|
||||
for (GOMAuthor authors : this.authors) {
|
||||
authors.writeRssOutput(aStreamWriter, "managingEditor");
|
||||
}
|
||||
for (GOMCategory category : this.categories) {
|
||||
category.writeRssOutput(aStreamWriter);
|
||||
}
|
||||
for (GOMLink link : this.links) {
|
||||
link.writeRssOutput(aStreamWriter);
|
||||
}
|
||||
if (this.updated != null) {
|
||||
// udated.getDate can not be null
|
||||
aStreamWriter.writeSimpleXMLElement("lastBuildDate", GOMUtils
|
||||
.buildRfc822Date(this.updated.getDate().getTime()), null);
|
||||
}
|
||||
|
||||
if (this.logo != null || this.icon != null) {
|
||||
aStreamWriter.writeStartElement("image");
|
||||
if (this.logo != null)
|
||||
this.logo.writeRssOutput(aStreamWriter);
|
||||
else
|
||||
this.icon.writeRssOutput(aStreamWriter);
|
||||
aStreamWriter.writeEndElement();
|
||||
|
||||
}
|
||||
|
||||
if (this.generator != null)
|
||||
this.generator.writeRssOutput(aStreamWriter);
|
||||
if (this.itemsPerPageElement != null)
|
||||
this.itemsPerPageElement.writeRssOutput(aStreamWriter);
|
||||
if (this.startIndexElement != null)
|
||||
this.startIndexElement.writeRssOutput(aStreamWriter);
|
||||
for (GOMExtension extension : this.extensions) {
|
||||
extension.writeRssOutput(aStreamWriter);
|
||||
}
|
||||
for (GOMExtension extension : this.extensions) {
|
||||
extension.writeRssOutput(aStreamWriter);
|
||||
}
|
||||
for (GOMEntry entry : this.entries) {
|
||||
entry.writeRssOutput(aStreamWriter);
|
||||
}
|
||||
// channel
|
||||
aStreamWriter.writeEndElement();
|
||||
// rss
|
||||
aStreamWriter.writeEndElement();
|
||||
|
||||
}
|
||||
|
||||
static class PositiveIntegerValidator extends
|
||||
SimpleGOMElementImpl.SimpleValidator {
|
||||
|
||||
protected PositiveIntegerValidator(String aLocalName) {
|
||||
super(aLocalName);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.SimpleGOMElementImpl.SimpleValidator#validate(java.lang.String)
|
||||
*/
|
||||
@Override
|
||||
protected void validate(String aTextValue) {
|
||||
super.validate(aTextValue);
|
||||
try {
|
||||
int i = Integer.parseInt(aTextValue);
|
||||
if (i < 0)
|
||||
throw new GDataParseException(String.format(
|
||||
AtomParser.INVALID_ELEMENT_VALUE, this.localName,
|
||||
"positive integer value"));
|
||||
} catch (NumberFormatException e) {
|
||||
throw new GDataParseException(String.format(
|
||||
AtomParser.INVALID_ELEMENT_VALUE, this.localName,
|
||||
"positive integer value"));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMFeed#getExtensions()
|
||||
*/
|
||||
public List<GOMExtension> getExtensions() {
|
||||
return this.extensions;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMFeed#setExtensionFactory(org.apache.lucene.gdata.gom.core.extension.GOMExtensionFactory)
|
||||
*/
|
||||
public void setExtensionFactory(GOMExtensionFactory aFactory) {
|
||||
if (extensionFactory != null) {
|
||||
List<GOMNamespace> namespaces2 = extensionFactory.getNamespaces();
|
||||
if (namespaces2 != null)
|
||||
for (GOMNamespace namespace : namespaces2) {
|
||||
this.addNamespace(namespace);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
this.extensionFactory = aFactory;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMFeed#addLink(org.apache.lucene.gdata.gom.GOMLink)
|
||||
*/
|
||||
public void addLink(GOMLink aLink) {
|
||||
if (aLink == null)
|
||||
return;
|
||||
this.links.add(aLink);
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,158 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import java.net.URISyntaxException;
|
||||
import java.util.List;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import org.apache.lucene.gdata.gom.GOMAttribute;
|
||||
import org.apache.lucene.gdata.gom.GOMGenerator;
|
||||
import org.apache.lucene.gdata.gom.GOMNamespace;
|
||||
import org.apache.lucene.gdata.gom.core.utils.AtomParserUtils;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public class GOMGeneratorImpl extends AbstractGOMElement implements
|
||||
GOMGenerator {
|
||||
|
||||
private String generatorVersion;
|
||||
|
||||
private String uri;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public GOMGeneratorImpl() {
|
||||
super();
|
||||
this.localName = GOMGenerator.LOCALNAME;
|
||||
this.qname = new QName(GOMNamespace.ATOM_NS_URI, this.localName);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMGenerator#setUri(java.lang.String)
|
||||
*/
|
||||
public void setUri(String aUri) {
|
||||
this.uri = aUri;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMGenerator#setGeneratorVersion(java.lang.String)
|
||||
*/
|
||||
public void setGeneratorVersion(String aVersion) {
|
||||
this.generatorVersion = aVersion;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMGenerator#getGeneratorVersion()
|
||||
*/
|
||||
public String getGeneratorVersion() {
|
||||
return this.generatorVersion;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMGenerator#getUri()
|
||||
*/
|
||||
public String getUri() {
|
||||
return this.uri;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.AbstractGOMElement#processAttribute(javax.xml.namespace.QName,
|
||||
* java.lang.String)
|
||||
*/
|
||||
@Override
|
||||
public void processAttribute(QName aQName, String aValue) {
|
||||
if (aQName == null)
|
||||
throw new IllegalArgumentException("Qname must not be null");
|
||||
if (aValue == null)
|
||||
throw new IllegalArgumentException("Value must not be null");
|
||||
if (aQName.getNamespaceURI().equals(GOMNamespace.ATOM_NS_URI)) {
|
||||
if (aQName.getLocalPart().equals("uri")) {
|
||||
if (this.uri != null)
|
||||
throw new GDataParseException(String.format(
|
||||
AtomParser.DUPLICATE_ATTRIBUTE, "uri"));
|
||||
this.uri = aValue;
|
||||
} else if (aQName.getLocalPart().equals("version")) {
|
||||
if (this.generatorVersion != null)
|
||||
throw new GDataParseException(String.format(
|
||||
AtomParser.DUPLICATE_ATTRIBUTE, "version"));
|
||||
this.generatorVersion = aValue;
|
||||
}
|
||||
}
|
||||
super.processAttribute(aQName, aValue);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.AbstractGOMElement#processElementValue(java.lang.String)
|
||||
*/
|
||||
@Override
|
||||
public void processElementValue(String aValue) {
|
||||
if (this.textValue != null)
|
||||
throw new GDataParseException(String.format(
|
||||
AtomParser.DUPLICATE_ELEMENT_VALUE, this.localName));
|
||||
this.textValue = aValue;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.AbstractGOMElement#processEndElement()
|
||||
*/
|
||||
@Override
|
||||
public void processEndElement() {
|
||||
if (this.uri != null)
|
||||
try {
|
||||
AtomParserUtils.getAbsolutAtomURI(this.xmlBase, this.uri);
|
||||
} catch (URISyntaxException e) {
|
||||
throw new GDataParseException(String.format(
|
||||
AtomParser.INVALID_ELEMENT_VALUE, this.localName,
|
||||
"absolute uri"));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMElement#writeAtomOutput(org.apache.lucene.gdata.gom.writer.GOMStaxWriter)
|
||||
*/
|
||||
public void writeAtomOutput(GOMOutputWriter aStreamWriter)
|
||||
throws XMLStreamException {
|
||||
List<GOMAttribute> list = getXmlNamespaceAttributes();
|
||||
if (this.uri != null)
|
||||
list.add(new GOMAttributeImpl("uri", this.uri));
|
||||
if (this.generatorVersion != null)
|
||||
list.add(new GOMAttributeImpl("version", this.generatorVersion));
|
||||
|
||||
aStreamWriter.writeSimpleXMLElement(this.qname, list, this.textValue);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMElement#writeRssOutput(org.apache.lucene.gdata.gom.writer.GOMStaxWriter)
|
||||
*/
|
||||
public void writeRssOutput(GOMOutputWriter aStreamWriter)
|
||||
throws XMLStreamException {
|
||||
aStreamWriter.writeSimpleXMLElement(this.localName,
|
||||
getXmlNamespaceAttributes(), this.textValue);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,51 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import org.apache.lucene.gdata.gom.GOMIcon;
|
||||
import org.apache.lucene.gdata.gom.GOMNamespace;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public class GOMIconImpl extends AtomUriElement implements GOMIcon {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public GOMIconImpl() {
|
||||
this.localName = GOMIcon.LOCALNAME;
|
||||
this.qname = new QName(GOMNamespace.ATOM_NS_URI, this.localName);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.SimpleGOMElementImpl#writeRssOutput(org.apache.lucene.gdata.gom.writer.GOMStaxWriter)
|
||||
*/
|
||||
@Override
|
||||
public void writeRssOutput(GOMOutputWriter aStreamWriter)
|
||||
throws XMLStreamException {
|
||||
aStreamWriter.writeSimpleXMLElement("url", getXmlNamespaceAttributes(),
|
||||
this.textValue);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,103 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import org.apache.lucene.gdata.gom.GOMId;
|
||||
import org.apache.lucene.gdata.gom.GOMNamespace;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
class GOMIdImpl extends AbstractGOMElement implements GOMId {
|
||||
|
||||
protected static final QName ATOM_QNAME = new QName(
|
||||
GOMNamespace.ATOM_NS_URI, LOCALNAME, GOMNamespace.ATOM_NS_PREFIX);
|
||||
|
||||
GOMIdImpl() {
|
||||
this.localName = LOCALNAME;
|
||||
this.qname = new QName(GOMNamespace.ATOM_NS_URI, this.localName);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.AbstractGOMElement#getLocalName()
|
||||
*/
|
||||
@Override
|
||||
public String getLocalName() {
|
||||
return this.localName;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.AtomParser#processElementValue(java.lang.String)
|
||||
*/
|
||||
public void processElementValue(String aValue) {
|
||||
this.textValue = aValue;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.AtomParser#processEndElement()
|
||||
*/
|
||||
public void processEndElement() {
|
||||
if (this.textValue == null)
|
||||
throw new GDataParseException(
|
||||
"Element id must have a unique id value -- is null");
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMElement#writeAtomOutput(org.apache.lucene.gdata.gom.writer.GOMStaxWriter)
|
||||
*/
|
||||
public void writeAtomOutput(GOMOutputWriter aStreamWriter)
|
||||
throws XMLStreamException {
|
||||
if (aStreamWriter == null)
|
||||
throw new GDataParseException("GOMWriter must not be null");
|
||||
aStreamWriter.writeSimpleXMLElement(LOCALNAME,
|
||||
getXmlNamespaceAttributes(), this.textValue);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMElement#writeRssOutput(org.apache.lucene.gdata.gom.writer.GOMStaxWriter)
|
||||
*/
|
||||
public void writeRssOutput(GOMOutputWriter aStreamWriter)
|
||||
throws XMLStreamException {
|
||||
if (aStreamWriter == null)
|
||||
throw new GDataParseException("GOMWriter must not be null");
|
||||
aStreamWriter.writeSimpleXMLElement(ATOM_QNAME,
|
||||
getXmlNamespaceAttributes(), this.textValue);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.AbstractGOMElement#writeRssOutput(org.apache.lucene.gdata.gom.writer.GOMOutputWriter,
|
||||
* java.lang.String)
|
||||
*/
|
||||
@Override
|
||||
public void writeRssOutput(GOMOutputWriter aStreamWriter, String aRssName)
|
||||
throws XMLStreamException {
|
||||
if (aStreamWriter == null)
|
||||
throw new GDataParseException("GOMWriter must not be null");
|
||||
aStreamWriter.writeSimpleXMLElement(aRssName,
|
||||
getXmlNamespaceAttributes(), this.textValue);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,270 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import java.net.URISyntaxException;
|
||||
import java.util.List;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
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.utils.AtomParserUtils;
|
||||
import org.apache.lucene.gdata.gom.core.utils.GOMUtils;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;
|
||||
|
||||
/**
|
||||
* element atom:link { atomCommonAttributes, attribute href { atomUri },
|
||||
* attribute rel { atomNCName | atomUri }?, attribute type { atomMediaType }?,
|
||||
* attribute hreflang { atomLanguageTag }?, attribute title { text }?, attribute
|
||||
* length { text }?, undefinedContent }
|
||||
*
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public class GOMLinkImpl extends AbstractGOMElement implements GOMLink {
|
||||
private String href;
|
||||
|
||||
private String rel;
|
||||
|
||||
private String type;
|
||||
|
||||
private String hrefLang;
|
||||
|
||||
private String title;
|
||||
|
||||
private Integer length;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public GOMLinkImpl() {
|
||||
super();
|
||||
this.localName = LOCALNAME;
|
||||
this.qname = new QName(this.localName);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMLink#getHref()
|
||||
*/
|
||||
public String getHref() {
|
||||
return this.href;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMLink#setHref(java.lang.String)
|
||||
*/
|
||||
public void setHref(String aHref) {
|
||||
href = aHref;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMLink#getHrefLang()
|
||||
*/
|
||||
public String getHrefLang() {
|
||||
return this.hrefLang;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMLink#setHrefLang(java.lang.String)
|
||||
*/
|
||||
public void setHrefLang(String aHrefLang) {
|
||||
hrefLang = aHrefLang;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMLink#getLength()
|
||||
*/
|
||||
public Integer getLength() {
|
||||
return this.length;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMLink#setLength(java.lang.String)
|
||||
*/
|
||||
public void setLength(Integer aLength) {
|
||||
length = aLength;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMLink#getRel()
|
||||
*/
|
||||
public String getRel() {
|
||||
return this.rel;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMLink#setRel(java.lang.String)
|
||||
*/
|
||||
public void setRel(String aRel) {
|
||||
rel = aRel;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMLink#getTitle()
|
||||
*/
|
||||
public String getTitle() {
|
||||
return this.title;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMLink#setTitle(java.lang.String)
|
||||
*/
|
||||
public void setTitle(String aTitle) {
|
||||
title = aTitle;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMLink#getType()
|
||||
*/
|
||||
public String getType() {
|
||||
return this.type;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMLink#setType(java.lang.String)
|
||||
*/
|
||||
public void setType(String aType) {
|
||||
type = aType;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.AbstractGOMElement#processAttribute(javax.xml.namespace.QName,
|
||||
* java.lang.String)
|
||||
*/
|
||||
@Override
|
||||
public void processAttribute(QName aQName, String aValue) {
|
||||
if (aQName == null)
|
||||
throw new IllegalArgumentException("QName must not be null");
|
||||
|
||||
if (aQName.getNamespaceURI().equals(GOMNamespace.ATOM_NS_URI)
|
||||
|| aQName.getNamespaceURI().equals("")) {
|
||||
String localName = aQName.getLocalPart();
|
||||
|
||||
if (localName.equals("href")) {
|
||||
if (this.href != null)
|
||||
throw new GDataParseException(String.format(
|
||||
DUPLICATE_ATTRIBUTE, "href"));
|
||||
this.href = aValue;
|
||||
} else if (localName.equals("type")) {
|
||||
if (this.type != null)
|
||||
throw new GDataParseException(String.format(
|
||||
DUPLICATE_ATTRIBUTE, "type"));
|
||||
this.type = aValue;
|
||||
} else if (localName.equals("rel")) {
|
||||
if (this.rel != null)
|
||||
throw new GDataParseException(String.format(
|
||||
DUPLICATE_ATTRIBUTE, "rel"));
|
||||
this.rel = aValue;
|
||||
} else if (localName.equals("title")) {
|
||||
if (this.title != null)
|
||||
throw new GDataParseException(String.format(
|
||||
DUPLICATE_ATTRIBUTE, "title"));
|
||||
this.title = aValue;
|
||||
|
||||
} else if (localName.equals("hreflang")) {
|
||||
if (this.hrefLang != null)
|
||||
throw new GDataParseException(String.format(
|
||||
DUPLICATE_ATTRIBUTE, "hreflang"));
|
||||
this.hrefLang = aValue;
|
||||
} else if (localName.equals("length")) {
|
||||
if (this.length != null)
|
||||
throw new GDataParseException(String.format(
|
||||
DUPLICATE_ATTRIBUTE, "length"));
|
||||
try {
|
||||
this.length = new Integer(Integer.parseInt(aValue));
|
||||
} catch (NumberFormatException e) {
|
||||
throw new GDataParseException(
|
||||
"attribute lenght must be an integer");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
super.processAttribute(aQName, aValue);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.AbstractGOMElement#processEndElement()
|
||||
*/
|
||||
@Override
|
||||
public void processEndElement() {
|
||||
if (this.href == null)
|
||||
throw new GDataParseException(String.format(
|
||||
MISSING_ELEMENT_ATTRIBUTE, this.localName, "href"));
|
||||
try {
|
||||
AtomParserUtils.getAbsolutAtomURI(this.xmlBase, this.href);
|
||||
} catch (URISyntaxException e) {
|
||||
throw new GDataParseException(String.format(INVALID_ATTRIBUTE,
|
||||
"href", "absolute uri"), e);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMElement#writeAtomOutput(org.apache.lucene.gdata.gom.writer.GOMStaxWriter)
|
||||
*/
|
||||
public void writeAtomOutput(GOMOutputWriter aStreamWriter)
|
||||
throws XMLStreamException {
|
||||
List<GOMAttribute> attList = getXmlNamespaceAttributes();
|
||||
attList.add(GOMUtils.buildDefaultNamespaceAttribute(
|
||||
this.href == null ? "" : this.href, "href"));
|
||||
if (this.rel != null)
|
||||
attList.add(GOMUtils
|
||||
.buildDefaultNamespaceAttribute(this.rel, "rel"));
|
||||
if (this.title != null)
|
||||
attList.add(GOMUtils.buildDefaultNamespaceAttribute(this.title,
|
||||
"title"));
|
||||
if (this.type != null)
|
||||
attList.add(GOMUtils.buildDefaultNamespaceAttribute(this.type,
|
||||
"type"));
|
||||
if (this.hrefLang != null)
|
||||
attList.add(GOMUtils.buildDefaultNamespaceAttribute(this.hrefLang,
|
||||
"hreflang"));
|
||||
if (this.length != null)
|
||||
attList.add(GOMUtils.buildDefaultNamespaceAttribute(this.length
|
||||
.toString(), "length"));
|
||||
|
||||
aStreamWriter.writeSimpleXMLElement(this.qname, attList, null);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMElement#writeRssOutput(org.apache.lucene.gdata.gom.writer.GOMStaxWriter)
|
||||
*/
|
||||
public void writeRssOutput(GOMOutputWriter aStreamWriter)
|
||||
throws XMLStreamException {
|
||||
List<GOMAttribute> xmlNamespaceAttributes = getXmlNamespaceAttributes();
|
||||
if (this.rel != null && rel.equalsIgnoreCase("enclosure")) {
|
||||
if (type != null)
|
||||
xmlNamespaceAttributes.add(GOMUtils
|
||||
.buildDefaultNamespaceAttribute(type, "type"));
|
||||
if (href != null)
|
||||
xmlNamespaceAttributes.add(GOMUtils
|
||||
.buildDefaultNamespaceAttribute(href, "href"));
|
||||
|
||||
aStreamWriter.writeSimpleXMLElement("enclosure",
|
||||
xmlNamespaceAttributes, null);
|
||||
} else if ("comments".equalsIgnoreCase(this.rel))
|
||||
aStreamWriter.writeSimpleXMLElement("comments", null, this.href);
|
||||
|
||||
else if ("alternate".equalsIgnoreCase(this.rel))
|
||||
aStreamWriter.writeSimpleXMLElement("link", null, this.href);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,51 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import org.apache.lucene.gdata.gom.GOMLogo;
|
||||
import org.apache.lucene.gdata.gom.GOMNamespace;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public class GOMLogoImpl extends AtomUriElement implements GOMLogo {
|
||||
|
||||
/**
|
||||
* default class constructor
|
||||
*/
|
||||
public GOMLogoImpl() {
|
||||
this.localName = GOMLogo.LOCALNAME;
|
||||
this.qname = new QName(GOMNamespace.ATOM_NS_URI, this.localName);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.SimpleGOMElementImpl#writeRssOutput(org.apache.lucene.gdata.gom.writer.GOMStaxWriter)
|
||||
*/
|
||||
@Override
|
||||
public void writeRssOutput(GOMOutputWriter aStreamWriter)
|
||||
throws XMLStreamException {
|
||||
aStreamWriter.writeSimpleXMLElement("url", getXmlNamespaceAttributes(),
|
||||
this.textValue);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,245 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import org.apache.lucene.gdata.gom.GOMAttribute;
|
||||
import org.apache.lucene.gdata.gom.GOMNamespace;
|
||||
import org.apache.lucene.gdata.gom.core.utils.GOMUtils;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public class GOMPersonImpl extends AbstractGOMElement implements
|
||||
org.apache.lucene.gdata.gom.GOMPerson {
|
||||
|
||||
private final static String NAME_LOCAL_NAME = "name";
|
||||
|
||||
private final static String EMAIL_LOCAL_NAME = "email";
|
||||
|
||||
private final static String URI_LOCAL_NAME = "uri";
|
||||
|
||||
protected String uri;
|
||||
|
||||
protected String email;
|
||||
|
||||
protected String name;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public GOMPersonImpl() {
|
||||
super();
|
||||
this.localName = LOCALNAME;
|
||||
this.qname = new QName(GOMNamespace.ATOM_NS_URI, this.localName);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMPerson#setName(java.lang.String)
|
||||
*/
|
||||
public void setName(String aName) {
|
||||
this.name = aName;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMPerson#setEmail(java.lang.String)
|
||||
*/
|
||||
public void setEmail(String aEmail) {
|
||||
this.email = aEmail;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMPerson#setUri(java.lang.String)
|
||||
*/
|
||||
public void setUri(String aUri) {
|
||||
this.uri = aUri;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMPerson#getName()
|
||||
*/
|
||||
public String getName() {
|
||||
|
||||
return this.name;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMPerson#getEmail()
|
||||
*/
|
||||
public String getEmail() {
|
||||
return this.email;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMPerson#getUri()
|
||||
*/
|
||||
public String getUri() {
|
||||
|
||||
return this.uri;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMElement#writeAtomOutput(org.apache.lucene.gdata.gom.writer.GOMStaxWriter)
|
||||
*/
|
||||
public void writeAtomOutput(GOMOutputWriter aStreamWriter)
|
||||
throws XMLStreamException {
|
||||
if (aStreamWriter == null)
|
||||
throw new GDataParseException("GOMWriter must not be null");
|
||||
List<GOMAttribute> list = getXmlNamespaceAttributes();
|
||||
if (this.xmlLang != null) {
|
||||
list = new ArrayList<GOMAttribute>(1);
|
||||
list.add(GOMUtils
|
||||
.buildXMLNamespaceAttribute(this.xmlLang, XML_LANG));
|
||||
}
|
||||
aStreamWriter.writeStartElement(this.qname, list);
|
||||
aStreamWriter.writeSimpleXMLElement(NAME_LOCAL_NAME, this.name, null);
|
||||
if (this.email != null)
|
||||
aStreamWriter.writeSimpleXMLElement(EMAIL_LOCAL_NAME, this.email,
|
||||
null);
|
||||
if (this.uri != null)
|
||||
aStreamWriter.writeSimpleXMLElement(URI_LOCAL_NAME, this.uri, null);
|
||||
|
||||
aStreamWriter.writeEndElement();
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMElement#writeRssOutput(org.apache.lucene.gdata.gom.writer.GOMStaxWriter)
|
||||
*/
|
||||
public void writeRssOutput(GOMOutputWriter aStreamWriter)
|
||||
throws XMLStreamException {
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.AbstractGOMElement#getChildParser(javax.xml.namespace.QName)
|
||||
*/
|
||||
@Override
|
||||
public AtomParser getChildParser(QName aName) {
|
||||
if (aName == null)
|
||||
throw new GDataParseException("QName must not be null");
|
||||
if (aName.getNamespaceURI().equals(GOMNamespace.ATOM_NS_URI)) {
|
||||
if (aName.getLocalPart().equals(NAME_LOCAL_NAME))
|
||||
return this.new NameParser();
|
||||
if (aName.getLocalPart().equals(URI_LOCAL_NAME))
|
||||
return this.new UriParser();
|
||||
if (aName.getLocalPart().equals(EMAIL_LOCAL_NAME))
|
||||
return this.new EmailParser();
|
||||
}
|
||||
return super.getChildParser(aName);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.AbstractGOMElement#processEndElement()
|
||||
*/
|
||||
@Override
|
||||
public void processEndElement() {
|
||||
if (this.name == null)
|
||||
throw new GDataParseException(String.format(
|
||||
AtomParser.MISSING_ELEMENT_CHILD, this.localName,
|
||||
NAME_LOCAL_NAME));
|
||||
}
|
||||
|
||||
class NameParser extends SimpleElementParser {
|
||||
|
||||
NameParser() {
|
||||
this.localname = NAME_LOCAL_NAME;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.AtomParser#processEndElement()
|
||||
*/
|
||||
public void processEndElement() {
|
||||
if (name != null)
|
||||
throw new GDataParseException(String.format(
|
||||
AtomParser.DUPLICATE_ELEMENT, this.localname));
|
||||
if (this.aString != null)
|
||||
name = this.aString;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class UriParser extends SimpleElementParser {
|
||||
|
||||
UriParser() {
|
||||
this.localname = URI_LOCAL_NAME;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.AtomParser#processEndElement()
|
||||
*/
|
||||
public void processEndElement() {
|
||||
if (uri != null)
|
||||
throw new GDataParseException(String.format(
|
||||
AtomParser.DUPLICATE_ELEMENT, this.localname));
|
||||
if (this.aString != null)
|
||||
uri = this.aString;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class EmailParser extends SimpleElementParser {
|
||||
|
||||
EmailParser() {
|
||||
this.localname = EMAIL_LOCAL_NAME;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.AtomParser#processEndElement()
|
||||
*/
|
||||
public void processEndElement() {
|
||||
if (email != null)
|
||||
throw new GDataParseException(String.format(
|
||||
AtomParser.DUPLICATE_ELEMENT, this.localname));
|
||||
if (this.aString != null)
|
||||
email = this.aString;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.AbstractGOMElement#writeRssOutput(org.apache.lucene.gdata.gom.writer.GOMOutputWriter,
|
||||
* java.lang.String)
|
||||
*/
|
||||
@Override
|
||||
public void writeRssOutput(GOMOutputWriter aStreamWriter, String aRssName)
|
||||
throws XMLStreamException {
|
||||
if (aStreamWriter == null)
|
||||
throw new GDataParseException("GOMWriter must not be null");
|
||||
StringBuilder builder = new StringBuilder("");
|
||||
if (this.email != null)
|
||||
builder.append(this.email);
|
||||
if (this.name != null)
|
||||
builder.append("(").append(this.name).append(")");
|
||||
aStreamWriter.writeSimpleXMLElement(aRssName,
|
||||
getXmlNamespaceAttributes(), builder.toString());
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,55 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import org.apache.lucene.gdata.gom.GOMPublished;
|
||||
import org.apache.lucene.gdata.gom.core.utils.GOMUtils;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public class GOMPublishedImpl extends GOMDateConstructImpl implements
|
||||
GOMPublished {
|
||||
protected static final QName RSS_QNAME = new QName("pubDate");
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public GOMPublishedImpl() {
|
||||
this.localName = GOMPublished.LOCALNAME;
|
||||
this.qname = new QName(this.localName);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMElement#writeRssOutput(org.apache.lucene.gdata.gom.writer.GOMStaxWriter)
|
||||
*/
|
||||
public void writeRssOutput(GOMOutputWriter aStreamWriter)
|
||||
throws XMLStreamException {
|
||||
String rssRFC3339Date = GOMUtils
|
||||
.buildRfc822Date(this.date == 0 ? System.currentTimeMillis()
|
||||
: this.date);
|
||||
aStreamWriter.writeSimpleXMLElement(RSS_QNAME,
|
||||
getXmlNamespaceAttributes(), rssRFC3339Date);
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import org.apache.lucene.gdata.gom.GOMNamespace;
|
||||
import org.apache.lucene.gdata.gom.GOMRights;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public class GOMRightsImpl extends GOMTextContructImpl implements GOMRights {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public GOMRightsImpl() {
|
||||
this.localName = GOMRights.LOCALNAME;
|
||||
this.rssLocalName = GOMRights.LOCALNAME;
|
||||
this.qname = new QName(GOMNamespace.ATOM_NS_URI, this.localName);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.GOMTextContructImpl#writeRssOutput(org.apache.lucene.gdata.gom.writer.GOMStaxWriter)
|
||||
*/
|
||||
@Override
|
||||
public void writeRssOutput(GOMOutputWriter aStreamWriter)
|
||||
throws XMLStreamException {
|
||||
aStreamWriter.writeSimpleXMLElement("copyright", null, this.textValue);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,544 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import org.apache.lucene.gdata.gom.GOMAttribute;
|
||||
import org.apache.lucene.gdata.gom.GOMAuthor;
|
||||
import org.apache.lucene.gdata.gom.GOMCategory;
|
||||
import org.apache.lucene.gdata.gom.GOMContributor;
|
||||
import org.apache.lucene.gdata.gom.GOMGenerator;
|
||||
import org.apache.lucene.gdata.gom.GOMIcon;
|
||||
import org.apache.lucene.gdata.gom.GOMId;
|
||||
import org.apache.lucene.gdata.gom.GOMLink;
|
||||
import org.apache.lucene.gdata.gom.GOMLogo;
|
||||
import org.apache.lucene.gdata.gom.GOMNamespace;
|
||||
import org.apache.lucene.gdata.gom.GOMRights;
|
||||
import org.apache.lucene.gdata.gom.GOMSource;
|
||||
import org.apache.lucene.gdata.gom.GOMSubtitle;
|
||||
import org.apache.lucene.gdata.gom.GOMTitle;
|
||||
import org.apache.lucene.gdata.gom.GOMUpdated;
|
||||
import org.apache.lucene.gdata.gom.core.utils.AtomParserUtils;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public class GOMSourceImpl extends AbstractGOMElement implements GOMSource {
|
||||
|
||||
protected List<GOMAuthor> authors = new LinkedList<GOMAuthor>();
|
||||
|
||||
protected List<GOMCategory> categories = new LinkedList<GOMCategory>();
|
||||
|
||||
protected List<GOMLink> links = new LinkedList<GOMLink>();
|
||||
|
||||
protected List<GOMContributor> contributors = new LinkedList<GOMContributor>();
|
||||
|
||||
protected GOMGenerator generator;
|
||||
|
||||
protected GOMId id;
|
||||
|
||||
protected GOMLogo logo;
|
||||
|
||||
protected GOMRights rights;
|
||||
|
||||
protected GOMSubtitle subtitle;
|
||||
|
||||
protected GOMTitle title;
|
||||
|
||||
protected GOMUpdated updated;
|
||||
|
||||
protected GOMIcon icon;
|
||||
|
||||
GOMSourceImpl() {
|
||||
this.localName = LOCALNAME;
|
||||
this.qname = new QName(GOMNamespace.ATOM_NS_URI, this.localName);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.AbstractGOMElement#getLocalName()
|
||||
*/
|
||||
@Override
|
||||
public String getLocalName() {
|
||||
return this.localName;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMSource#addAuthor(org.apache.lucene.gdata.gom.GOMAuthor)
|
||||
*/
|
||||
public void addAuthor(GOMAuthor aAuthor) {
|
||||
if (aAuthor != null)
|
||||
this.authors.add(aAuthor);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMSource#addCategory(org.apache.lucene.gdata.gom.GOMCategory)
|
||||
*/
|
||||
public void addCategory(GOMCategory aCategory) {
|
||||
if (aCategory != null)
|
||||
this.categories.add(aCategory);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMSource#addContributor(org.apache.lucene.gdata.gom.GOMContributor)
|
||||
*/
|
||||
public void addContributor(GOMContributor aContributor) {
|
||||
if (aContributor != null)
|
||||
this.contributors.add(aContributor);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMSource#getAuthors()
|
||||
*
|
||||
*/
|
||||
public List<GOMAuthor> getAuthors() {
|
||||
return this.authors;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMSource#getCategories()
|
||||
*
|
||||
*/
|
||||
public List<GOMCategory> getCategories() {
|
||||
return this.categories;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMSource#getContributor()
|
||||
*/
|
||||
public List<GOMContributor> getContributor() {
|
||||
return this.contributors;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMSource#getGenerator()
|
||||
*
|
||||
*/
|
||||
public GOMGenerator getGenerator() {
|
||||
return this.generator;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMSource#getId()
|
||||
*
|
||||
*/
|
||||
public GOMId getId() {
|
||||
return this.id;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMSource#setGenerator(org.apache.lucene.gdata.gom.GOMGenerator)
|
||||
*
|
||||
*/
|
||||
public void setGenerator(GOMGenerator aGenerator) {
|
||||
this.generator = aGenerator;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMSource#setIcon(org.apache.lucene.gdata.gom.GOMIcon)
|
||||
*
|
||||
*/
|
||||
public void setIcon(GOMIcon aIcon) {
|
||||
this.icon = aIcon;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMSource#setId(org.apache.lucene.gdata.gom.GOMId)
|
||||
*
|
||||
*/
|
||||
public void setId(GOMId aId) {
|
||||
this.id = aId;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the logo
|
||||
*
|
||||
*/
|
||||
public GOMLogo getLogo() {
|
||||
return this.logo;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param aLogo
|
||||
* the logo to set
|
||||
*
|
||||
*/
|
||||
public void setLogo(GOMLogo aLogo) {
|
||||
this.logo = aLogo;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the rights
|
||||
*
|
||||
*/
|
||||
public GOMRights getRights() {
|
||||
return this.rights;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param aRights
|
||||
* the rights to set
|
||||
*
|
||||
*/
|
||||
public void setRights(GOMRights aRights) {
|
||||
rights = aRights;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the subtitle
|
||||
*
|
||||
*/
|
||||
public GOMSubtitle getSubtitle() {
|
||||
return this.subtitle;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param aSubtitle
|
||||
* the subtitle to set
|
||||
*
|
||||
*/
|
||||
public void setSubtitle(GOMSubtitle aSubtitle) {
|
||||
this.subtitle = aSubtitle;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the title
|
||||
*
|
||||
*/
|
||||
public GOMTitle getTitle() {
|
||||
return this.title;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param aTitle
|
||||
* the title to set
|
||||
*
|
||||
*/
|
||||
public void setTitle(GOMTitle aTitle) {
|
||||
this.title = aTitle;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the updated
|
||||
*
|
||||
*/
|
||||
public GOMUpdated getUpdated() {
|
||||
return this.updated;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param aUpdated
|
||||
* the updated to set
|
||||
*
|
||||
*/
|
||||
public void setUpdated(GOMUpdated aUpdated) {
|
||||
this.updated = aUpdated;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the icon
|
||||
*
|
||||
*/
|
||||
public GOMIcon getIcon() {
|
||||
return this.icon;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the links
|
||||
*
|
||||
*/
|
||||
public List<GOMLink> getLinks() {
|
||||
return this.links;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMSource#addLink(org.apache.lucene.gdata.gom.GOMLink)
|
||||
*/
|
||||
public void addLink(GOMLink aLink) {
|
||||
if (aLink == null)
|
||||
return;
|
||||
this.links.add(aLink);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.AtomParser#processElementValue(java.lang.String)
|
||||
*/
|
||||
public void processElementValue(String aValue) {
|
||||
throw new GDataParseException(String.format(
|
||||
AtomParser.UNEXPECTED_ELEMENT_VALUE, this.localName));
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.AtomParser#processEndElement()
|
||||
*/
|
||||
public void processEndElement() {
|
||||
/*
|
||||
* atom:feed elements MUST contain exactly one atom:id element.
|
||||
*/
|
||||
if (this.id == null)
|
||||
throw new GDataParseException(String.format(
|
||||
MISSING_ELEMENT_CHILD, this.localName, GOMId.LOCALNAME));
|
||||
/*
|
||||
* atom:feed elements MUST contain exactly one atom:title element.
|
||||
*/
|
||||
if (this.title == null)
|
||||
throw new GDataParseException(String
|
||||
.format(MISSING_ELEMENT_CHILD, this.localName,
|
||||
GOMTitle.LOCALNAME));
|
||||
/*
|
||||
* atom:feed elements MUST contain exactly one atom:updated element.
|
||||
*/
|
||||
if (this.updated == null)
|
||||
throw new GDataParseException(String.format(
|
||||
MISSING_ELEMENT_CHILD, this.localName,
|
||||
GOMUpdated.LOCALNAME));
|
||||
/*
|
||||
* atom:feed elements MUST contain one or more atom:author elements,
|
||||
* unless all of the
|
||||
*/
|
||||
if (this.authors.size() < 1)
|
||||
throw new GDataParseException(String.format(
|
||||
MISSING_ELEMENT_CHILD, this.localName,
|
||||
GOMAuthor.LOCALNAME));
|
||||
|
||||
/*
|
||||
* atom:feed elements MUST NOT contain more than one atom:link element
|
||||
* with a rel attribute value of "alternate" that has the same
|
||||
* combination of type and hreflang attribute values.
|
||||
*/
|
||||
List<GOMLink> alternateLinks = new LinkedList<GOMLink>();
|
||||
for (GOMLink link : this.links) {
|
||||
/*
|
||||
* atom:link elements MAY have a "rel" attribute that indicates the
|
||||
* link relation type. If the "rel" attribute is not present, the
|
||||
* link element MUST be interpreted as if the link relation type is
|
||||
* "alternate".
|
||||
*/
|
||||
if (link.getRel() == null
|
||||
|| link.getRel().equalsIgnoreCase("alternate"))
|
||||
alternateLinks.add(link);
|
||||
}
|
||||
|
||||
/*
|
||||
* atom:feed elements MUST NOT contain more than one atom:link element
|
||||
* with a rel attribute value of "alternate" that has the same
|
||||
* combination of type and hreflang attribute values.
|
||||
*/
|
||||
if (alternateLinks.size() > 1) {
|
||||
for (GOMLink link : alternateLinks) {
|
||||
for (GOMLink link2 : alternateLinks) {
|
||||
if (link != link2)
|
||||
if (AtomParserUtils.compareAlternateLinks(link, link2))
|
||||
throw new GDataParseException(
|
||||
String
|
||||
.format(DUPLICATE_ELEMENT,
|
||||
"link with rel=\"alternate\" and same href and type attributes"));
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.AtomParser#getChildParser(javax.xml.namespace.QName)
|
||||
*/
|
||||
public AtomParser getChildParser(QName aName) {
|
||||
if (aName.getNamespaceURI().equals(GOMNamespace.ATOM_NS_URI)) {
|
||||
if (aName.getLocalPart().equals(GOMId.LOCALNAME)) {
|
||||
// atom:feed / atom:source elements MUST contain exactly one
|
||||
// atom:id element.
|
||||
if (this.id != null)
|
||||
throw new GDataParseException(String.format(
|
||||
AtomParser.DUPLICATE_ELEMENT, GOMId.LOCALNAME));
|
||||
this.id = new GOMIdImpl();
|
||||
return this.id;
|
||||
}
|
||||
if (aName.getLocalPart().equals(GOMTitle.LOCALNAME)) {
|
||||
// atom:feed / atom:source elements MUST contain exactly one
|
||||
// atom:title
|
||||
// element.
|
||||
if (this.title != null)
|
||||
throw new GDataParseException(String.format(
|
||||
AtomParser.DUPLICATE_ELEMENT, GOMTitle.LOCALNAME));
|
||||
this.title = new GOMTitleImpl();
|
||||
return this.title;
|
||||
}
|
||||
if (aName.getLocalPart().equals(GOMAuthor.LOCALNAME)) {
|
||||
GOMAuthor author = new GOMAuthorImpl();
|
||||
this.authors.add(author);
|
||||
return author;
|
||||
}
|
||||
if (aName.getLocalPart().equals(GOMCategory.LOCALNAME)) {
|
||||
GOMCategory category = new GOMCategoryImpl();
|
||||
this.categories.add(category);
|
||||
return category;
|
||||
}
|
||||
if (aName.getLocalPart().equals(GOMContributor.LOCALNAME)) {
|
||||
GOMContributorImpl impl = new GOMContributorImpl();
|
||||
this.contributors.add(impl);
|
||||
return impl;
|
||||
}
|
||||
if (aName.getLocalPart().equals(GOMLink.LOCALNAME)) {
|
||||
GOMLinkImpl impl = new GOMLinkImpl();
|
||||
this.links.add(impl);
|
||||
return impl;
|
||||
}
|
||||
if (aName.getLocalPart().equals(GOMSubtitle.LOCALNAME)) {
|
||||
GOMSubtitleImpl impl = new GOMSubtitleImpl();
|
||||
/*
|
||||
* atom:feed elements MUST NOT contain more than one
|
||||
* atom:subtitle element.
|
||||
*/
|
||||
if (this.subtitle != null)
|
||||
throw new GDataParseException(String.format(
|
||||
AtomParser.DUPLICATE_ELEMENT,
|
||||
GOMSubtitle.LOCALNAME));
|
||||
this.subtitle = impl;
|
||||
return this.subtitle;
|
||||
}
|
||||
if (aName.getLocalPart().equals(GOMUpdated.LOCALNAME)) {
|
||||
if (this.updated != null)
|
||||
throw new GDataParseException(String.format(
|
||||
AtomParser.DUPLICATE_ELEMENT,
|
||||
GOMUpdated.LOCALNAME));
|
||||
GOMUpdated updatedImpl = new GOMUpdatedImpl();
|
||||
this.updated = updatedImpl;
|
||||
return this.updated;
|
||||
|
||||
}
|
||||
if (aName.getLocalPart().equals(GOMLogo.LOCALNAME)) {
|
||||
if (this.logo != null)
|
||||
throw new GDataParseException(String.format(
|
||||
AtomParser.DUPLICATE_ELEMENT, GOMLogo.LOCALNAME));
|
||||
|
||||
this.logo = new GOMLogoImpl();
|
||||
return this.logo;
|
||||
|
||||
}
|
||||
if (aName.getLocalPart().equals(GOMIcon.LOCALNAME)) {
|
||||
if (this.icon != null)
|
||||
throw new GDataParseException(String.format(
|
||||
AtomParser.DUPLICATE_ELEMENT, GOMIcon.LOCALNAME));
|
||||
|
||||
this.icon = new GOMIconImpl();
|
||||
return this.icon;
|
||||
|
||||
}
|
||||
if (aName.getLocalPart().equals(GOMGenerator.LOCALNAME)) {
|
||||
if (this.generator != null)
|
||||
throw new GDataParseException(String.format(
|
||||
AtomParser.DUPLICATE_ELEMENT,
|
||||
GOMGenerator.LOCALNAME));
|
||||
|
||||
this.generator = new GOMGeneratorImpl();
|
||||
return this.generator;
|
||||
|
||||
}
|
||||
if (aName.getLocalPart().equals(GOMRights.LOCALNAME)) {
|
||||
if (this.rights != null)
|
||||
throw new GDataParseException(String
|
||||
.format(AtomParser.DUPLICATE_ELEMENT,
|
||||
GOMRights.LOCALNAME));
|
||||
|
||||
this.rights = new GOMRightsImpl();
|
||||
return this.rights;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
throw new GDataParseException(String.format(
|
||||
AtomParser.URECOGNIZED_ELEMENT_CHILD, this.localName, aName
|
||||
.getLocalPart()));
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMElement#writeAtomOutput(org.apache.lucene.gdata.gom.writer.GOMStaxWriter)
|
||||
*/
|
||||
public void writeAtomOutput(GOMOutputWriter aStreamWriter)
|
||||
throws XMLStreamException {
|
||||
aStreamWriter.writeStartElement(this.localName,
|
||||
this.extensionAttributes);
|
||||
List<GOMAttribute> xmlNamespaceAttributes = getXmlNamespaceAttributes();
|
||||
for (GOMAttribute attribute : xmlNamespaceAttributes) {
|
||||
aStreamWriter.writeAttribute(attribute);
|
||||
}
|
||||
writeInnerAtomOutput(aStreamWriter);
|
||||
aStreamWriter.writeEndElement();
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @param aStreamWriter
|
||||
* @throws XMLStreamException
|
||||
*/
|
||||
protected void writeInnerAtomOutput(GOMOutputWriter aStreamWriter)
|
||||
throws XMLStreamException {
|
||||
if (this.id != null)
|
||||
this.id.writeAtomOutput(aStreamWriter);
|
||||
if (this.title != null)
|
||||
this.title.writeAtomOutput(aStreamWriter);
|
||||
if (this.subtitle != null)
|
||||
this.subtitle.writeAtomOutput(aStreamWriter);
|
||||
for (GOMAuthor authors : this.authors) {
|
||||
authors.writeAtomOutput(aStreamWriter);
|
||||
}
|
||||
for (GOMCategory category : this.categories) {
|
||||
category.writeAtomOutput(aStreamWriter);
|
||||
}
|
||||
for (GOMContributor contributor : this.contributors) {
|
||||
contributor.writeAtomOutput(aStreamWriter);
|
||||
}
|
||||
for (GOMLink link : this.links) {
|
||||
link.writeAtomOutput(aStreamWriter);
|
||||
}
|
||||
if (this.rights != null)
|
||||
this.rights.writeAtomOutput(aStreamWriter);
|
||||
if (this.updated != null)
|
||||
this.updated.writeAtomOutput(aStreamWriter);
|
||||
if (this.logo != null)
|
||||
this.logo.writeAtomOutput(aStreamWriter);
|
||||
if (this.icon != null)
|
||||
this.icon.writeAtomOutput(aStreamWriter);
|
||||
if (this.generator != null)
|
||||
this.generator.writeAtomOutput(aStreamWriter);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMElement#writeRssOutput(org.apache.lucene.gdata.gom.writer.GOMStaxWriter)
|
||||
*/
|
||||
public void writeRssOutput(GOMOutputWriter aStreamWriter)
|
||||
throws XMLStreamException {
|
||||
// no rss output
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
|
||||
import org.apache.lucene.gdata.gom.GOMNamespace;
|
||||
import org.apache.lucene.gdata.gom.GOMSubtitle;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public class GOMSubtitleImpl extends GOMTextContructImpl implements GOMSubtitle {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public GOMSubtitleImpl() {
|
||||
this.localName = GOMSubtitle.LOCALNAME;
|
||||
this.rssLocalName = GOMSubtitle.RSS_LOCALNAME;
|
||||
this.qname = new QName(GOMNamespace.ATOM_NS_URI, this.localName);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,57 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import org.apache.lucene.gdata.gom.GOMNamespace;
|
||||
import org.apache.lucene.gdata.gom.GOMSummary;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public class GOMSummaryImpl extends GOMTextContructImpl implements GOMSummary {
|
||||
protected static final QName ATOM_QNAME = new QName(
|
||||
GOMNamespace.ATOM_NS_URI, LOCALNAME, GOMNamespace.ATOM_NS_PREFIX);
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public GOMSummaryImpl() {
|
||||
this.localName = GOMSummary.LOCALNAME;
|
||||
this.qname = new QName(GOMNamespace.ATOM_NS_URI, this.localName);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.GOMTextContructImpl#writeRssOutput(org.apache.lucene.gdata.gom.writer.GOMStaxWriter)
|
||||
*/
|
||||
@Override
|
||||
public void writeRssOutput(GOMOutputWriter aStreamWriter)
|
||||
throws XMLStreamException {
|
||||
/*
|
||||
* RSS does not support markup as child elements StaX Writer will encode
|
||||
* all containing markup into valid xml entities
|
||||
*/
|
||||
aStreamWriter.writeSimpleXMLElement(ATOM_QNAME,
|
||||
getXmlNamespaceAttributes(), this.textValue);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,270 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import java.io.StringWriter;
|
||||
import java.util.List;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
import javax.xml.stream.XMLOutputFactory;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
import javax.xml.stream.XMLStreamWriter;
|
||||
|
||||
import org.apache.lucene.gdata.gom.ContentType;
|
||||
import org.apache.lucene.gdata.gom.GOMAttribute;
|
||||
import org.apache.lucene.gdata.gom.GOMTextConstruct;
|
||||
import org.apache.lucene.gdata.gom.core.utils.GOMUtils;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public abstract class GOMTextContructImpl extends AbstractGOMElement implements
|
||||
GOMTextConstruct {
|
||||
|
||||
protected ContentType contentType;
|
||||
|
||||
protected String rssLocalName;
|
||||
|
||||
/*
|
||||
* parses the xhtml content
|
||||
*/
|
||||
protected transient XMLBlobContentParser blobParser = null;
|
||||
|
||||
/*
|
||||
* this string builder contains the html while parsing the incoming text
|
||||
* contruct. process element value will be called multiple times
|
||||
*/
|
||||
protected transient StringBuilder htmlBuilder = null;
|
||||
|
||||
/**
|
||||
* @return the contentType
|
||||
*
|
||||
*/
|
||||
public ContentType getContentType() {
|
||||
return this.contentType;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.AtomParser#processElementValue(java.lang.String)
|
||||
*/
|
||||
public void processElementValue(String aValue) {
|
||||
if (this.htmlBuilder != null)
|
||||
this.htmlBuilder.append(aValue);
|
||||
else {
|
||||
this.textValue = aValue;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.AtomParser#processAttribute(javax.xml.namespace.QName,
|
||||
* java.lang.String)
|
||||
*/
|
||||
public void processAttribute(QName aQName, String aValue) {
|
||||
if (aQName == null)
|
||||
throw new GDataParseException("QName must not be null");
|
||||
if ("type".equals(aQName.getLocalPart()) && aValue != null) {
|
||||
if (this.contentType != null)
|
||||
throw new GDataParseException(String.format(
|
||||
DUPLICATE_ATTRIBUTE, "type"));
|
||||
this.contentType = ContentType.valueOf(aValue.toUpperCase());
|
||||
if (this.contentType == ContentType.HTML)
|
||||
this.htmlBuilder = new StringBuilder();
|
||||
}
|
||||
super.processAttribute(aQName, aValue);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.AtomParser#processEndElement()
|
||||
*/
|
||||
public void processEndElement() {
|
||||
if (this.contentType == null)
|
||||
throw new GDataParseException(String.format(
|
||||
MISSING_ELEMENT_ATTRIBUTE, this.qname, "type"));
|
||||
switch (this.contentType) {
|
||||
case XHTML:
|
||||
if (this.blobParser != null) {
|
||||
this.textValue = this.blobParser.toString();
|
||||
this.blobParser.close();
|
||||
this.blobParser = null;
|
||||
}
|
||||
|
||||
break;
|
||||
case HTML:
|
||||
if (this.htmlBuilder != null) {
|
||||
this.textValue = this.htmlBuilder.toString();
|
||||
this.htmlBuilder = null;
|
||||
}
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMElement#writeAtomOutput(org.apache.lucene.gdata.gom.writer.GOMStaxWriter)
|
||||
*/
|
||||
public void writeAtomOutput(GOMOutputWriter aStreamWriter)
|
||||
throws XMLStreamException {
|
||||
List<GOMAttribute> xmlNamespaceAttributes = getXmlNamespaceAttributes();
|
||||
xmlNamespaceAttributes.add(GOMUtils
|
||||
.getAttributeByContentTypeDefaultNs(this.contentType));
|
||||
if (this.contentType == ContentType.XHTML) {
|
||||
/*
|
||||
* if the content is xhtml write it unescaped
|
||||
*/
|
||||
aStreamWriter.writeStartElement(this.localName,
|
||||
xmlNamespaceAttributes);
|
||||
aStreamWriter.writeContentUnescaped(this.textValue);
|
||||
aStreamWriter.writeEndElement();
|
||||
|
||||
} else {
|
||||
// html and text will be escaped by stax writer
|
||||
aStreamWriter.writeSimpleXMLElement(this.localName,
|
||||
xmlNamespaceAttributes, this.textValue);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMElement#writeRssOutput(org.apache.lucene.gdata.gom.writer.GOMStaxWriter)
|
||||
*/
|
||||
public void writeRssOutput(GOMOutputWriter aStreamWriter)
|
||||
throws XMLStreamException {
|
||||
/*
|
||||
* RSS does not support markup as child elements StaX Writer will encode
|
||||
* all containing markup into valid xml entities
|
||||
*/
|
||||
aStreamWriter.writeSimpleXMLElement(this.rssLocalName,
|
||||
getXmlNamespaceAttributes(), this.textValue);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.AtomParser#getChildParser(javax.xml.namespace.QName)
|
||||
*/
|
||||
@Override
|
||||
public AtomParser getChildParser(QName aName) {
|
||||
if (aName == null)
|
||||
throw new GDataParseException("QName must not be null");
|
||||
if (this.contentType == ContentType.XHTML
|
||||
&& aName.getLocalPart().equals("div")) {
|
||||
if (this.blobParser != null)
|
||||
throw new GDataParseException(String.format(
|
||||
DUPLICATE_ELEMENT, "div"));
|
||||
this.blobParser = new XMLBlobContentParser();
|
||||
return this.blobParser.getChildParser(aName);
|
||||
}
|
||||
|
||||
return super.getChildParser(aName);
|
||||
|
||||
}
|
||||
|
||||
class XMLBlobContentParser implements AtomParser {
|
||||
private StringWriter writer;
|
||||
|
||||
private XMLStreamWriter xmlWriter;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public XMLBlobContentParser() {
|
||||
super();
|
||||
this.writer = new StringWriter();
|
||||
try {
|
||||
this.xmlWriter = XMLOutputFactory.newInstance()
|
||||
.createXMLStreamWriter(this.writer);
|
||||
} catch (Exception e) {
|
||||
throw new GDataParseException(e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.AtomParser#processElementValue(java.lang.String)
|
||||
*/
|
||||
public void processElementValue(String aValue) {
|
||||
try {
|
||||
this.xmlWriter.writeCharacters(aValue);
|
||||
} catch (XMLStreamException e) {
|
||||
throw new GDataParseException(e);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.AtomParser#processAttribute(javax.xml.namespace.QName,
|
||||
* java.lang.String)
|
||||
*/
|
||||
public void processAttribute(QName aQName, String aValue) {
|
||||
try {
|
||||
this.xmlWriter.writeAttribute(aQName.getNamespaceURI(), aQName
|
||||
.getLocalPart(), aQName.getPrefix(), aValue);
|
||||
} catch (XMLStreamException e) {
|
||||
throw new GDataParseException(e);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.AtomParser#processEndElement()
|
||||
*/
|
||||
public void processEndElement() {
|
||||
try {
|
||||
this.xmlWriter.writeEndElement();
|
||||
} catch (XMLStreamException e) {
|
||||
throw new GDataParseException(e);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.AtomParser#getChildParser(javax.xml.namespace.QName)
|
||||
*/
|
||||
public AtomParser getChildParser(QName aName) {
|
||||
try {
|
||||
this.xmlWriter.writeStartElement(aName.getNamespaceURI(), aName
|
||||
.getLocalPart(), aName.getPrefix());
|
||||
} catch (XMLStreamException e) {
|
||||
throw new GDataParseException(e);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see java.lang.Object#toString()
|
||||
*/
|
||||
public String toString() {
|
||||
return this.writer.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public void close() {
|
||||
try {
|
||||
this.xmlWriter.close();
|
||||
this.writer.close();
|
||||
} catch (Exception e) {
|
||||
throw new GDataParseException(e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
|
||||
import org.apache.lucene.gdata.gom.GOMNamespace;
|
||||
import org.apache.lucene.gdata.gom.GOMTitle;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*/
|
||||
public class GOMTitleImpl extends GOMTextContructImpl implements GOMTitle {
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public GOMTitleImpl() {
|
||||
super();
|
||||
this.localName = LOCALNAME;
|
||||
this.rssLocalName = LOCALNAME;
|
||||
this.qname = new QName(GOMNamespace.ATOM_NS_URI, this.localName);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,58 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import org.apache.lucene.gdata.gom.GOMNamespace;
|
||||
import org.apache.lucene.gdata.gom.GOMUpdated;
|
||||
import org.apache.lucene.gdata.gom.core.utils.GOMUtils;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public class GOMUpdatedImpl extends GOMDateConstructImpl implements GOMUpdated {
|
||||
protected static final QName ATOM_QNAME = new QName(
|
||||
GOMNamespace.ATOM_NS_URI, LOCALNAME, GOMNamespace.ATOM_NS_PREFIX);
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public GOMUpdatedImpl() {
|
||||
super();
|
||||
this.localName = LOCALNAME;
|
||||
this.qname = new QName(GOMNamespace.ATOM_NS_URI, this.localName);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMElement#writeRssOutput(org.apache.lucene.gdata.gom.writer.GOMStaxWriter)
|
||||
*/
|
||||
public void writeRssOutput(GOMOutputWriter aStreamWriter)
|
||||
throws XMLStreamException {
|
||||
if (this.rfc3339String == null)
|
||||
this.rfc3339String = GOMUtils
|
||||
.buildRfc3339DateFormat(this.date == 0 ? System
|
||||
.currentTimeMillis() : this.date);
|
||||
aStreamWriter.writeSimpleXMLElement(ATOM_QNAME,
|
||||
getXmlNamespaceAttributes(), this.rfc3339String);
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,62 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
abstract class SimpleElementParser implements AtomParser {
|
||||
protected String aString = null;
|
||||
|
||||
protected String localname = null;
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.AtomParser#processElementValue(java.lang.String)
|
||||
*/
|
||||
public void processElementValue(String aValue) {
|
||||
this.aString = aValue;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.AtomParser#processAttribute(javax.xml.namespace.QName,
|
||||
* java.lang.String)
|
||||
*/
|
||||
public void processAttribute(QName aQName, String aValue) {
|
||||
//
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.AtomParser#processEndElement()
|
||||
*/
|
||||
public abstract void processEndElement();
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.AtomParser#getChildParser(javax.xml.namespace.QName)
|
||||
*/
|
||||
public AtomParser getChildParser(QName aName) {
|
||||
if (aName == null)
|
||||
throw new GDataParseException("QName must not be null");
|
||||
throw new GDataParseException(String.format(
|
||||
AtomParser.UNEXPECTED_ELEMENT_CHILD, this.localname));
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,121 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import org.apache.lucene.gdata.gom.GOMNamespace;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public class SimpleGOMElementImpl extends AbstractGOMElement {
|
||||
public static final String ELEMENT_OS_ITEMS_PER_PAGE = "itemsPerPage";
|
||||
|
||||
public static final String ELEMENT_OS_START_INDEX = "startIndex";
|
||||
|
||||
private SimpleValidator validator;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public SimpleGOMElementImpl(String aLocalName, GOMNamespace aNamespace) {
|
||||
super();
|
||||
if (aLocalName == null)
|
||||
throw new IllegalArgumentException("localname must not be null");
|
||||
if (aNamespace == null)
|
||||
throw new IllegalArgumentException("Namespace must not be null");
|
||||
this.localName = aLocalName;
|
||||
this.qname = new QName(aNamespace.getNamespaceUri(), this.localName,
|
||||
aNamespace.getNamespacePrefix());
|
||||
}
|
||||
|
||||
SimpleGOMElementImpl() {
|
||||
// for subclasses
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.AbstractGOMElement#processElementValue(java.lang.String)
|
||||
*/
|
||||
@Override
|
||||
public void processElementValue(String aValue) {
|
||||
if (this.textValue != null)
|
||||
throw new GDataParseException(String.format(
|
||||
AtomParser.DUPLICATE_ELEMENT_VALUE, this.localName));
|
||||
this.textValue = aValue;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.core.AbstractGOMElement#processEndElement()
|
||||
*/
|
||||
@Override
|
||||
public void processEndElement() {
|
||||
if (this.validator != null)
|
||||
this.validator.validate(this.textValue);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMElement#writeAtomOutput(org.apache.lucene.gdata.gom.writer.GOMStaxWriter)
|
||||
*/
|
||||
public void writeAtomOutput(GOMOutputWriter aStreamWriter)
|
||||
throws XMLStreamException {
|
||||
aStreamWriter.writeSimpleXMLElement(this.qname,
|
||||
getXmlNamespaceAttributes(), this.textValue);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.GOMElement#writeRssOutput(org.apache.lucene.gdata.gom.writer.GOMStaxWriter)
|
||||
*/
|
||||
public void writeRssOutput(GOMOutputWriter aStreamWriter)
|
||||
throws XMLStreamException {
|
||||
writeAtomOutput(aStreamWriter);
|
||||
|
||||
}
|
||||
|
||||
protected abstract static class SimpleValidator {
|
||||
String localName;
|
||||
|
||||
protected SimpleValidator(String aLocalName) {
|
||||
this.localName = aLocalName;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param aTextValue
|
||||
*/
|
||||
protected void validate(String aTextValue) {
|
||||
if (aTextValue == null)
|
||||
throw new GDataParseException(String.format(
|
||||
AtomParser.MISSING_ELEMENT_VALUE_PLAIN,
|
||||
this.localName));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @param aValidator
|
||||
* The validator to set.
|
||||
*/
|
||||
public void setValidator(SimpleValidator aValidator) {
|
||||
validator = aValidator;
|
||||
}
|
||||
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 47 KiB |
|
@ -0,0 +1,257 @@
|
|||
<?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="core-aid" description="" id="org.apache.lucene.gdata.gom.core" metadata="uml2-1.0" initialized="true" zoom="1.5" scrolledX="1601" scrolledY="503" tag="1000" key="3230303631303036204764617461556D6C2F73696D6F6E">
|
||||
<children xsi:type="editmodel:ClassEditModel" name="GDataParseException" location="50,1339" size="240,151" id="org.apache.lucene.gdata.gom.core/GDataParseException" runTimeClassModel="GDataParseException(Ljava.lang.String;),GDataParseException(),GDataParseException(Ljava.lang.String;Ljava.lang.Throwable;),GDataParseException(Ljava.lang.Throwable;)">
|
||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||
<children xsi:type="editmodel:CompartmentEditModel" size="217,72">
|
||||
<children xsi:type="editmodel:MethodEditModel" name="GDataParseException" id="org.apache.lucene.gdata.gom.core/GDataParseException#GDataParseException()"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="GDataParseException" id="org.apache.lucene.gdata.gom.core/GDataParseException#GDataParseException(Ljava.lang.String;)"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="GDataParseException" id="org.apache.lucene.gdata.gom.core/GDataParseException#GDataParseException(Ljava.lang.Throwable;)"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="GDataParseException" id="org.apache.lucene.gdata.gom.core/GDataParseException#GDataParseException(Ljava.lang.String;Ljava.lang.Throwable;)"/>
|
||||
</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" showAttributes="true" showLiterals="true"/>
|
||||
</children>
|
||||
<children xsi:type="editmodel:ClassEditModel" targetConnections="//@children.6/@sourceConnections.0" name="GOMFeedImpl" location="220,250" size="233,889" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl" runTimeClassModel="getId(),contributors,getTitle(),getLogo(),namespaces,getIcon(),setIcon(Lorg.apache.lucene.gdata.gom.GOMIcon;),id,logo,links,getNamespaces(),setTitle(Lorg.apache.lucene.gdata.gom.GOMTitle;),getLinks(),rights,entries,setSubtitle(Lorg.apache.lucene.gdata.gom.GOMSubtitle;),getChildren(),setLogo(Lorg.apache.lucene.gdata.gom.GOMLogo;),GOMFeedImpl(),getGenerator(),addCategory(Lorg.apache.lucene.gdata.gom.GOMCategory;),processEndElement(),processAttribute(Ljavax.xml.namespace.QName;Ljava.lang.String;),getContributor(),addAuthor(Lorg.apache.lucene.gdata.gom.GOMAuthor;),addEntry(Lorg.apache.lucene.gdata.gom.GOMEntry;),title,getRights(),categories,setId(Lorg.apache.lucene.gdata.gom.GOMId;),updated,setGenerator(Lorg.apache.lucene.gdata.gom.GOMGenerator;),addChild(Lorg.apache.lucene.gdata.gom.GOMElement;),getChildParser(Ljavax.xml.namespace.QName;),getAuthors(),icon,writeRssOutput(Ljavax.xml.stream.XMLStreamWriter;),setRights(Lorg.apache.lucene.gdata.gom.GOMRights;),writeAtomOutput(Ljavax.xml.stream.XMLStreamWriter;),addContributor(Lorg.apache.lucene.gdata.gom.GOMContributor;),addNamespace(Lorg.apache.lucene.gdata.gom.core.GOMNamespace;),processElementValue(Ljava.lang.String;),authors,getLocalName(),getUpdated(),getSubtitle(),setUpdated(Lorg.apache.lucene.gdata.gom.GOMTime;),generator,getEntries(),subtitle,getCategories()">
|
||||
<children xsi:type="editmodel:CompartmentEditModel" size="109,144">
|
||||
<children xsi:type="editmodel:AttributeEditModel" name="generator" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#generator"/>
|
||||
<children xsi:type="editmodel:AttributeEditModel" name="icon" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#icon"/>
|
||||
<children xsi:type="editmodel:AttributeEditModel" name="id" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#id"/>
|
||||
<children xsi:type="editmodel:AttributeEditModel" name="logo" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#logo"/>
|
||||
<children xsi:type="editmodel:AttributeEditModel" name="rights" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#rights"/>
|
||||
<children xsi:type="editmodel:AttributeEditModel" name="subtitle" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#subtitle"/>
|
||||
<children xsi:type="editmodel:AttributeEditModel" name="title" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#title"/>
|
||||
<children xsi:type="editmodel:AttributeEditModel" name="updated" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#updated"/>
|
||||
</children>
|
||||
<children xsi:type="editmodel:CompartmentEditModel" size="210,666">
|
||||
<children xsi:type="editmodel:MethodEditModel" name="GOMFeedImpl" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#GOMFeedImpl()"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="addAuthor" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#addAuthor(Lorg.apache.lucene.gdata.gom.GOMAuthor;)"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="addCategory" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#addCategory(Lorg.apache.lucene.gdata.gom.GOMCategory;)"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="addChild" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#addChild(Lorg.apache.lucene.gdata.gom.GOMElement;)"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="addContributor" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#addContributor(Lorg.apache.lucene.gdata.gom.GOMContributor;)"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="addEntry" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#addEntry(Lorg.apache.lucene.gdata.gom.GOMEntry;)"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="addNamespace" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#addNamespace(Lorg.apache.lucene.gdata.gom.core.GOMNamespace;)"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="getAuthors" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#getAuthors()"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="getCategories" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#getCategories()"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="getChildParser" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#getChildParser(Ljavax.xml.namespace.QName;)"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="getChildren" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#getChildren()"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="getContributor" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#getContributor()"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="getEntries" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#getEntries()"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="getGenerator" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#getGenerator()"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="getIcon" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#getIcon()"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="getId" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#getId()"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="getLinks" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#getLinks()"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="getLocalName" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#getLocalName()"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="getLogo" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#getLogo()"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="getNamespaces" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#getNamespaces()"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="getRights" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#getRights()"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="getSubtitle" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#getSubtitle()"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="getTitle" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#getTitle()"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="getUpdated" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#getUpdated()"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="processAttribute" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#processAttribute(Ljavax.xml.namespace.QName;Ljava.lang.String;)"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="processElementValue" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#processElementValue(Ljava.lang.String;)"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="processEndElement" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#processEndElement()"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="setGenerator" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#setGenerator(Lorg.apache.lucene.gdata.gom.GOMGenerator;)"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="setIcon" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#setIcon(Lorg.apache.lucene.gdata.gom.GOMIcon;)"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="setId" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#setId(Lorg.apache.lucene.gdata.gom.GOMId;)"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="setLogo" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#setLogo(Lorg.apache.lucene.gdata.gom.GOMLogo;)"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="setRights" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#setRights(Lorg.apache.lucene.gdata.gom.GOMRights;)"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="setSubtitle" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#setSubtitle(Lorg.apache.lucene.gdata.gom.GOMSubtitle;)"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="setTitle" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#setTitle(Lorg.apache.lucene.gdata.gom.GOMTitle;)"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="setUpdated" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#setUpdated(Lorg.apache.lucene.gdata.gom.GOMTime;)"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="writeAtomOutput" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#writeAtomOutput(Ljavax.xml.stream.XMLStreamWriter;)"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="writeRssOutput" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl#writeRssOutput(Ljavax.xml.stream.XMLStreamWriter;)"/>
|
||||
</children>
|
||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||
<sourceConnections xsi:type="editmodel:DependencyEditModel" autoLocated="true" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl->org.apache.lucene.gdata.gom.core/AtomParser" source="//@children.1" target="//@children.3" targetEnd="//@children.1/@sourceConnections.0/@children.2" label="//@children.1/@sourceConnections.0/@children.0" sourceEnd="//@children.1/@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="233,34" attachSource="true"/>
|
||||
<children xsi:type="editmodel:AssociationEndEditModel" location="0,234"/>
|
||||
</sourceConnections>
|
||||
<sourceConnections xsi:type="editmodel:DependencyEditModel" autoLocated="true" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl->org.apache.lucene.gdata.gom.core/GOMNamespace" source="//@children.1" target="//@children.6" targetEnd="//@children.1/@sourceConnections.1/@children.2" label="//@children.1/@sourceConnections.1/@children.0" sourceEnd="//@children.1/@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="233,592" attachSource="true"/>
|
||||
<children xsi:type="editmodel:AssociationEndEditModel" location="0,102"/>
|
||||
</sourceConnections>
|
||||
<sourceConnections xsi:type="editmodel:DependencyEditModel" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl->org.apache.lucene.gdata.gom.core/GOMAttributeImpl" source="//@children.1" target="//@children.7" targetEnd="//@children.1/@sourceConnections.2/@children.2" label="//@children.1/@sourceConnections.2/@children.0" sourceEnd="//@children.1/@sourceConnections.2/@children.1" connectionRouterKind="Manhattan">
|
||||
<children xsi:type="editmodel:WireLabelEditModel" size="0,10" fontInfo="Arial-8-0" anchorKind="MiddlePart"/>
|
||||
<children xsi:type="editmodel:AssociationEndEditModel" location="0,12" attachSource="true"/>
|
||||
<children xsi:type="editmodel:AssociationEndEditModel" location="173,193"/>
|
||||
</sourceConnections>
|
||||
<sourceConnections xsi:type="editmodel:DependencyEditModel" autoLocated="true" id="org.apache.lucene.gdata.gom.core/GOMFeedImpl->org.apache.lucene.gdata.gom.core/GOMAttributeImpl" source="//@children.1" target="//@children.7" targetEnd="//@children.1/@sourceConnections.3/@children.2" label="//@children.1/@sourceConnections.3/@children.0" sourceEnd="//@children.1/@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="233,10" attachSource="true"/>
|
||||
<children xsi:type="editmodel:AssociationEndEditModel" location="10,205"/>
|
||||
</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" packageIndication="2" showAssociationMember="true" showMethods="true" showAttributes="true" showLiterals="true"/>
|
||||
</children>
|
||||
<children xsi:type="editmodel:ClassEditModel" targetConnections="//@children.5/@sourceConnections.2 //@children.5/@sourceConnections.4" name="GOMFactory" location="1873,241" size="147,133" id="org.apache.lucene.gdata.gom.core/GOMFactory" runTimeClassModel="createInstance(),createFeed(),GOMFactory()">
|
||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||
<children xsi:type="editmodel:CompartmentEditModel" size="124,54">
|
||||
<children xsi:type="editmodel:MethodEditModel" name="GOMFactory" id="org.apache.lucene.gdata.gom.core/GOMFactory#GOMFactory()"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="createInstance" id="org.apache.lucene.gdata.gom.core/GOMFactory#createInstance()"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="createFeed" id="org.apache.lucene.gdata.gom.core/GOMFactory#createFeed()"/>
|
||||
</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" showAttributes="true" showLiterals="true"/>
|
||||
</children>
|
||||
<children xsi:type="editmodel:InterfaceEditModel" targetConnections="//@children.5/@sourceConnections.0 //@children.1/@sourceConnections.0" name="AtomParser" location="1051,50" size="233,269" id="org.apache.lucene.gdata.gom.core/AtomParser" runTimeClassModel="uNEXPECTED_ATTRIBUTE,uNEXPECTED_ELEMENENT_VALUE,uNEXPECTED_ELEMENENT_CHILD,getChildParser(Ljavax.xml.namespace.QName;),uNEXPECTED_ELEMENENT,processEndElement(),mISSING_ELEMEMENT_CHILD,processElementValue(Ljava.lang.String;),processAttribute(Ljavax.xml.namespace.QName;Ljava.lang.String;),mISSING_ELEMEMENT_ATTRIBUTE">
|
||||
<children xsi:type="editmodel:CompartmentEditModel" size="179,108">
|
||||
<children xsi:type="editmodel:AttributeEditModel" name="uNEXPECTED_ELEMENENT" id="org.apache.lucene.gdata.gom.core/AtomParser#uNEXPECTED_ELEMENENT"/>
|
||||
<children xsi:type="editmodel:AttributeEditModel" name="uNEXPECTED_ELEMENENT_CHILD" id="org.apache.lucene.gdata.gom.core/AtomParser#uNEXPECTED_ELEMENENT_CHILD"/>
|
||||
<children xsi:type="editmodel:AttributeEditModel" name="uNEXPECTED_ATTRIBUTE" id="org.apache.lucene.gdata.gom.core/AtomParser#uNEXPECTED_ATTRIBUTE"/>
|
||||
<children xsi:type="editmodel:AttributeEditModel" name="uNEXPECTED_ELEMENENT_VALUE" id="org.apache.lucene.gdata.gom.core/AtomParser#uNEXPECTED_ELEMENENT_VALUE"/>
|
||||
<children xsi:type="editmodel:AttributeEditModel" name="mISSING_ELEMEMENT_ATTRIBUTE" id="org.apache.lucene.gdata.gom.core/AtomParser#mISSING_ELEMEMENT_ATTRIBUTE"/>
|
||||
<children xsi:type="editmodel:AttributeEditModel" name="mISSING_ELEMEMENT_CHILD" id="org.apache.lucene.gdata.gom.core/AtomParser#mISSING_ELEMEMENT_CHILD"/>
|
||||
</children>
|
||||
<children xsi:type="editmodel:CompartmentEditModel" size="210,72">
|
||||
<children xsi:type="editmodel:MethodEditModel" name="processElementValue" id="org.apache.lucene.gdata.gom.core/AtomParser#processElementValue(Ljava.lang.String;)"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="processAttribute" id="org.apache.lucene.gdata.gom.core/AtomParser#processAttribute(Ljavax.xml.namespace.QName;Ljava.lang.String;)"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="processEndElement" id="org.apache.lucene.gdata.gom.core/AtomParser#processEndElement()"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="getChildParser" id="org.apache.lucene.gdata.gom.core/AtomParser#getChildParser(Ljavax.xml.namespace.QName;)"/>
|
||||
</children>
|
||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||
<sourceConnections xsi:type="editmodel:AssociationEditModel" autoLocated="true" id="org.apache.lucene.gdata.gom.core/AtomParser@parserStack+org.apache.lucene.gdata.gom.core/GOMBuilder@" source="//@children.3" target="//@children.5" targetEnd="//@children.3/@sourceConnections.0/@children.2" label="//@children.3/@sourceConnections.0/@children.0" sourceEnd="//@children.3/@sourceConnections.0/@children.1" connectionRouterKind="Manhattan">
|
||||
<children xsi:type="editmodel:WireLabelEditModel" size="0,10" fontInfo="Arial-8-0" anchorKind="MiddlePart"/>
|
||||
<children xsi:type="editmodel:AssociationEndEditModel" name="parserStack" location="233,259" id="org.apache.lucene.gdata.gom.core/AtomParser@parserStack+org.apache.lucene.gdata.gom.core/GOMBuilder@|org.apache.lucene.gdata.gom.core/AtomParser#parserStack" attachSource="true" multiplicityLabel="//@children.3/@sourceConnections.0/@children.1/@children.1" roleLabel="//@children.3/@sourceConnections.0/@children.1/@children.0" navigable="true">
|
||||
<children xsi:type="editmodel:LabelEditModel" name=" - parserStack" location="1291,291" size="47,10" fontInfo="Arial-8-0" anchorKind="FirstPart"/>
|
||||
<children xsi:type="editmodel:LabelEditModel" name="*" location="1291,315" size="3,10" fontInfo="Arial-8-0" anchorKind="FirstPart"/>
|
||||
</children>
|
||||
<children xsi:type="editmodel:AssociationEndEditModel" location="10,0" id="org.apache.lucene.gdata.gom.core/AtomParser@parserStack+org.apache.lucene.gdata.gom.core/GOMBuilder@|org.apache.lucene.gdata.gom.core/GOMBuilder#" roleLabel="//@children.3/@sourceConnections.0/@children.2/@children.0">
|
||||
<children xsi:type="editmodel:LabelEditModel" location="1391,481" size="0,10" fontInfo="Arial-8-0" anchorKind="LastPart"/>
|
||||
</children>
|
||||
</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:ClassEditModel" targetConnections="//@children.5/@sourceConnections.3 //@children.5/@sourceConnections.6 //@children.5/@sourceConnections.8" name="GOMDocumentImpl" location="1623,994" size="227,295" id="org.apache.lucene.gdata.gom.core/GOMDocumentImpl" runTimeClassModel="setCharacterEncoding(Ljava.lang.String;),charEncoding,GOMDocumentImpl(),setVersion(Ljava.lang.String;),getCharacterEncoding(),writeRssOutput(Ljavax.xml.stream.XMLStreamWriter;),root,getRootElement(),getVersion(),writeAtomOutput(Ljavax.xml.stream.XMLStreamWriter;),setRootElement,version">
|
||||
<children xsi:type="editmodel:CompartmentEditModel" size="91,54">
|
||||
<children xsi:type="editmodel:AttributeEditModel" name="root" id="org.apache.lucene.gdata.gom.core/GOMDocumentImpl#root"/>
|
||||
<children xsi:type="editmodel:AttributeEditModel" name="version" id="org.apache.lucene.gdata.gom.core/GOMDocumentImpl#version"/>
|
||||
<children xsi:type="editmodel:AttributeEditModel" name="charEncoding" id="org.apache.lucene.gdata.gom.core/GOMDocumentImpl#charEncoding"/>
|
||||
</children>
|
||||
<children xsi:type="editmodel:CompartmentEditModel" size="204,162">
|
||||
<children xsi:type="editmodel:MethodEditModel" name="GOMDocumentImpl" id="org.apache.lucene.gdata.gom.core/GOMDocumentImpl#GOMDocumentImpl()"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="getRootElement" id="org.apache.lucene.gdata.gom.core/GOMDocumentImpl#getRootElement()"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="setVersion" id="org.apache.lucene.gdata.gom.core/GOMDocumentImpl#setVersion(Ljava.lang.String;)"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="getVersion" id="org.apache.lucene.gdata.gom.core/GOMDocumentImpl#getVersion()"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="getCharacterEncoding" id="org.apache.lucene.gdata.gom.core/GOMDocumentImpl#getCharacterEncoding()"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="setCharacterEncoding" id="org.apache.lucene.gdata.gom.core/GOMDocumentImpl#setCharacterEncoding(Ljava.lang.String;)"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="writeAtomOutput" id="org.apache.lucene.gdata.gom.core/GOMDocumentImpl#writeAtomOutput(Ljavax.xml.stream.XMLStreamWriter;)"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="setRootElement" id="org.apache.lucene.gdata.gom.core/GOMDocumentImpl#setRootElement"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="writeRssOutput" id="org.apache.lucene.gdata.gom.core/GOMDocumentImpl#writeRssOutput(Ljavax.xml.stream.XMLStreamWriter;)"/>
|
||||
</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" showAttributes="true" showLiterals="true"/>
|
||||
</children>
|
||||
<children xsi:type="editmodel:ClassEditModel" targetConnections="//@children.3/@sourceConnections.0" name="GOMBuilder" location="1388,498" size="259,295" id="org.apache.lucene.gdata.gom.core/GOMBuilder" runTimeClassModel="parserStack,next(),processAttributes(Lorg.apache.lucene.gdata.gom.core.AtomParser;),buildGOMEntry(),lastLocalName,streamReader,parse(Ljavax.xml.stream.XMLStreamReader;),buildGOMFeed(),GOMBuilder(Ljavax.xml.stream.XMLStreamReader;),startFeedDocument(Lorg.apache.lucene.gdata.gom.GOMDocument;),factory">
|
||||
<children xsi:type="editmodel:CompartmentEditModel" size="136,54">
|
||||
<children xsi:type="editmodel:AttributeEditModel" name="streamReader" id="org.apache.lucene.gdata.gom.core/GOMBuilder#streamReader"/>
|
||||
<children xsi:type="editmodel:AttributeEditModel" name="factory" id="org.apache.lucene.gdata.gom.core/GOMBuilder#factory"/>
|
||||
<children xsi:type="editmodel:AttributeEditModel" name="lastLocalName" id="org.apache.lucene.gdata.gom.core/GOMBuilder#lastLocalName"/>
|
||||
<children xsi:type="editmodel:AttributeEditModel" name="parserStack" id="org.apache.lucene.gdata.gom.core/AtomParser@parserStack+org.apache.lucene.gdata.gom.core/GOMBuilder@|org.apache.lucene.gdata.gom.core/AtomParser#parserStack"/>
|
||||
</children>
|
||||
<children xsi:type="editmodel:CompartmentEditModel" size="236,126">
|
||||
<children xsi:type="editmodel:MethodEditModel" name="GOMBuilder" id="org.apache.lucene.gdata.gom.core/GOMBuilder#GOMBuilder(Ljavax.xml.stream.XMLStreamReader;)"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="buildGOMFeed" id="org.apache.lucene.gdata.gom.core/GOMBuilder#buildGOMFeed()"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="parse" id="org.apache.lucene.gdata.gom.core/GOMBuilder#parse(Ljavax.xml.stream.XMLStreamReader;)"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="processAttributes" id="org.apache.lucene.gdata.gom.core/GOMBuilder#processAttributes(Lorg.apache.lucene.gdata.gom.core.AtomParser;)"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="buildGOMEntry" id="org.apache.lucene.gdata.gom.core/GOMBuilder#buildGOMEntry()"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="startFeedDocument" id="org.apache.lucene.gdata.gom.core/GOMBuilder#startFeedDocument(Lorg.apache.lucene.gdata.gom.GOMDocument;)"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="next" id="org.apache.lucene.gdata.gom.core/GOMBuilder#next()"/>
|
||||
</children>
|
||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||
<sourceConnections xsi:type="editmodel:DependencyEditModel" id="org.apache.lucene.gdata.gom.core/GOMBuilder->org.apache.lucene.gdata.gom.core/AtomParser" source="//@children.5" target="//@children.3" targetEnd="//@children.5/@sourceConnections.0/@children.2" label="//@children.5/@sourceConnections.0/@children.0" sourceEnd="//@children.5/@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,20" attachSource="true"/>
|
||||
<children xsi:type="editmodel:AssociationEndEditModel" location="213,269"/>
|
||||
</sourceConnections>
|
||||
<sourceConnections xsi:type="editmodel:DependencyEditModel" id="org.apache.lucene.gdata.gom.core/GOMBuilder->org.apache.lucene.gdata.gom.core/GOMNamespace" source="//@children.5" target="//@children.6" targetEnd="//@children.5/@sourceConnections.1/@children.2" label="//@children.5/@sourceConnections.1/@children.0" sourceEnd="//@children.5/@sourceConnections.1/@children.1" connectionRouterKind="Manhattan">
|
||||
<children xsi:type="editmodel:WireLabelEditModel" size="0,10" fontInfo="Arial-8-0" anchorKind="MiddlePart"/>
|
||||
<children xsi:type="editmodel:AssociationEndEditModel" location="0,236" attachSource="true"/>
|
||||
<children xsi:type="editmodel:AssociationEndEditModel" location="135,58"/>
|
||||
</sourceConnections>
|
||||
<sourceConnections xsi:type="editmodel:DependencyEditModel" autoLocated="true" id="org.apache.lucene.gdata.gom.core/GOMBuilder->org.apache.lucene.gdata.gom.core/GOMFactory" source="//@children.5" target="//@children.2" targetEnd="//@children.5/@sourceConnections.2/@children.2" label="//@children.5/@sourceConnections.2/@children.0" sourceEnd="//@children.5/@sourceConnections.2/@children.1" connectionRouterKind="Manhattan">
|
||||
<children xsi:type="editmodel:WireLabelEditModel" name="«access»" size="32,10" fontInfo="Arial-8-0" anchorKind="MiddlePart"/>
|
||||
<children xsi:type="editmodel:AssociationEndEditModel" location="249,0" attachSource="true"/>
|
||||
<children xsi:type="editmodel:AssociationEndEditModel" location="0,123"/>
|
||||
</sourceConnections>
|
||||
<sourceConnections xsi:type="editmodel:DependencyEditModel" id="org.apache.lucene.gdata.gom.core/GOMBuilder->org.apache.lucene.gdata.gom.core/GOMDocumentImpl" source="//@children.5" target="//@children.4" targetEnd="//@children.5/@sourceConnections.3/@children.2" label="//@children.5/@sourceConnections.3/@children.0" sourceEnd="//@children.5/@sourceConnections.3/@children.1" connectionRouterKind="Manhattan">
|
||||
<children xsi:type="editmodel:WireLabelEditModel" size="0,10" fontInfo="Arial-8-0" anchorKind="MiddlePart"/>
|
||||
<children xsi:type="editmodel:AssociationEndEditModel" location="256,295" attachSource="true"/>
|
||||
<children xsi:type="editmodel:AssociationEndEditModel" location="21,0"/>
|
||||
</sourceConnections>
|
||||
<sourceConnections xsi:type="editmodel:DependencyEditModel" id="org.apache.lucene.gdata.gom.core/GOMBuilder->org.apache.lucene.gdata.gom.core/GOMFactory" source="//@children.5" target="//@children.2" targetEnd="//@children.5/@sourceConnections.4/@children.2" label="//@children.5/@sourceConnections.4/@children.0" sourceEnd="//@children.5/@sourceConnections.4/@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="258,0" attachSource="true"/>
|
||||
<children xsi:type="editmodel:AssociationEndEditModel" location="10,143"/>
|
||||
</sourceConnections>
|
||||
<sourceConnections xsi:type="editmodel:DependencyEditModel" id="org.apache.lucene.gdata.gom.core/GOMBuilder->org.apache.lucene.gdata.gom.core/GOMNamespace" source="//@children.5" target="//@children.6" targetEnd="//@children.5/@sourceConnections.5/@children.2" label="//@children.5/@sourceConnections.5/@children.0" sourceEnd="//@children.5/@sourceConnections.5/@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,216" attachSource="true"/>
|
||||
<children xsi:type="editmodel:AssociationEndEditModel" location="135,78"/>
|
||||
</sourceConnections>
|
||||
<sourceConnections xsi:type="editmodel:DependencyEditModel" id="org.apache.lucene.gdata.gom.core/GOMBuilder->org.apache.lucene.gdata.gom.core/GOMDocumentImpl" source="//@children.5" target="//@children.4" targetEnd="//@children.5/@sourceConnections.6/@children.2" label="//@children.5/@sourceConnections.6/@children.0" sourceEnd="//@children.5/@sourceConnections.6/@children.1" connectionRouterKind="Manhattan">
|
||||
<children xsi:type="editmodel:WireLabelEditModel" size="0,10" fontInfo="Arial-8-0" anchorKind="MiddlePart"/>
|
||||
<children xsi:type="editmodel:AssociationEndEditModel" location="236,295" attachSource="true"/>
|
||||
<children xsi:type="editmodel:AssociationEndEditModel" location="1,0"/>
|
||||
</sourceConnections>
|
||||
<sourceConnections xsi:type="editmodel:DependencyEditModel" autoLocated="true" id="org.apache.lucene.gdata.gom.core/GOMBuilder->org.apache.lucene.gdata.gom.core/GOMNamespace" source="//@children.5" target="//@children.6" targetEnd="//@children.5/@sourceConnections.7/@children.2" label="//@children.5/@sourceConnections.7/@children.0" sourceEnd="//@children.5/@sourceConnections.7/@children.1" connectionRouterKind="Manhattan">
|
||||
<children xsi:type="editmodel:WireLabelEditModel" size="0,10" fontInfo="Arial-8-0" anchorKind="MiddlePart"/>
|
||||
<children xsi:type="editmodel:AssociationEndEditModel" location="0,268" attachSource="true"/>
|
||||
<children xsi:type="editmodel:AssociationEndEditModel" location="135,26"/>
|
||||
</sourceConnections>
|
||||
<sourceConnections xsi:type="editmodel:DependencyEditModel" autoLocated="true" id="org.apache.lucene.gdata.gom.core/GOMBuilder->org.apache.lucene.gdata.gom.core/GOMDocumentImpl" source="//@children.5" target="//@children.4" targetEnd="//@children.5/@sourceConnections.8/@children.2" label="//@children.5/@sourceConnections.8/@children.0" sourceEnd="//@children.5/@sourceConnections.8/@children.1" connectionRouterKind="Manhattan">
|
||||
<children xsi:type="editmodel:WireLabelEditModel" size="0,10" fontInfo="Arial-8-0" anchorKind="MiddlePart"/>
|
||||
<children xsi:type="editmodel:AssociationEndEditModel" location="246,295" attachSource="true"/>
|
||||
<children xsi:type="editmodel:AssociationEndEditModel" location="11,0"/>
|
||||
</sourceConnections>
|
||||
<sourceConnections xsi:type="editmodel:DependencyEditModel" id="org.apache.lucene.gdata.gom.core/GOMBuilder->org.apache.lucene.gdata.gom.core/GOMNamespace" source="//@children.5" target="//@children.6" targetEnd="//@children.5/@sourceConnections.9/@children.2" label="//@children.5/@sourceConnections.9/@children.0" sourceEnd="//@children.5/@sourceConnections.9/@children.1" connectionRouterKind="Manhattan">
|
||||
<children xsi:type="editmodel:WireLabelEditModel" size="0,10" fontInfo="Arial-8-0" anchorKind="MiddlePart"/>
|
||||
<children xsi:type="editmodel:AssociationEndEditModel" location="0,246" attachSource="true"/>
|
||||
<children xsi:type="editmodel:AssociationEndEditModel" location="135,48"/>
|
||||
</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:ClassEditModel" targetConnections="//@children.5/@sourceConnections.1 //@children.5/@sourceConnections.5 //@children.1/@sourceConnections.1 //@children.5/@sourceConnections.7 //@children.5/@sourceConnections.9" name="GOMNamespace" location="590,740" size="135,205" id="org.apache.lucene.gdata.gom.core/GOMNamespace" runTimeClassModel="setUri(Ljava.lang.String;),GOMNamespace(),getUri(),getPrefix(),uri,prefix,setPrefix(Ljava.lang.String;)">
|
||||
<children xsi:type="editmodel:CompartmentEditModel" size="62,36">
|
||||
<children xsi:type="editmodel:AttributeEditModel" name="prefix" id="org.apache.lucene.gdata.gom.core/GOMNamespace#prefix"/>
|
||||
<children xsi:type="editmodel:AttributeEditModel" name="uri" id="org.apache.lucene.gdata.gom.core/GOMNamespace#uri"/>
|
||||
</children>
|
||||
<children xsi:type="editmodel:CompartmentEditModel" size="112,90">
|
||||
<children xsi:type="editmodel:MethodEditModel" name="GOMNamespace" id="org.apache.lucene.gdata.gom.core/GOMNamespace#GOMNamespace()"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="getPrefix" id="org.apache.lucene.gdata.gom.core/GOMNamespace#getPrefix()"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="setPrefix" id="org.apache.lucene.gdata.gom.core/GOMNamespace#setPrefix(Ljava.lang.String;)"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="getUri" id="org.apache.lucene.gdata.gom.core/GOMNamespace#getUri()"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="setUri" id="org.apache.lucene.gdata.gom.core/GOMNamespace#setUri(Ljava.lang.String;)"/>
|
||||
</children>
|
||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||
<sourceConnections xsi:type="editmodel:AssociationEditModel" id="org.apache.lucene.gdata.gom.core/GOMNamespace@namespaces+org.apache.lucene.gdata.gom.core/GOMFeedImpl@" source="//@children.6" target="//@children.1" targetEnd="//@children.6/@sourceConnections.0/@children.2" label="//@children.6/@sourceConnections.0/@children.0" sourceEnd="//@children.6/@sourceConnections.0/@children.1" connectionRouterKind="Manhattan">
|
||||
<children xsi:type="editmodel:WireLabelEditModel" size="0,10" fontInfo="Arial-8-0" anchorKind="MiddlePart"/>
|
||||
<children xsi:type="editmodel:AssociationEndEditModel" name="namespaces" location="0,112" id="org.apache.lucene.gdata.gom.core/GOMNamespace@namespaces+org.apache.lucene.gdata.gom.core/GOMFeedImpl@|org.apache.lucene.gdata.gom.core/GOMNamespace#namespaces" attachSource="true" multiplicityLabel="//@children.6/@sourceConnections.0/@children.1/@children.1" roleLabel="//@children.6/@sourceConnections.0/@children.1/@children.0" navigable="true">
|
||||
<children xsi:type="editmodel:LabelEditModel" name=" - namespaces" location="534,859" size="49,10" fontInfo="Arial-8-0" anchorKind="FirstPart"/>
|
||||
<children xsi:type="editmodel:LabelEditModel" name="*" location="580,835" size="3,10" fontInfo="Arial-8-0" anchorKind="FirstPart"/>
|
||||
</children>
|
||||
<children xsi:type="editmodel:AssociationEndEditModel" location="233,532" id="org.apache.lucene.gdata.gom.core/GOMNamespace@namespaces+org.apache.lucene.gdata.gom.core/GOMFeedImpl@|org.apache.lucene.gdata.gom.core/GOMFeedImpl#"/>
|
||||
</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:ClassEditModel" targetConnections="//@children.1/@sourceConnections.2 //@children.1/@sourceConnections.3" name="GOMAttributeImpl" location="640,-20" size="173,205" id="org.apache.lucene.gdata.gom.core/GOMAttributeImpl" runTimeClassModel="GOMAttributeImpl(),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,126">
|
||||
<children xsi:type="editmodel:MethodEditModel" name="GOMAttributeImpl" id="org.apache.lucene.gdata.gom.core/GOMAttributeImpl#GOMAttributeImpl()"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="getQname" id="org.apache.lucene.gdata.gom.core/GOMAttributeImpl#getQname()"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="setQName" id="org.apache.lucene.gdata.gom.core/GOMAttributeImpl#setQName(Ljavax.xml.namespace.QName;)"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="setLocalName" id="org.apache.lucene.gdata.gom.core/GOMAttributeImpl#setLocalName(Ljava.lang.String;)"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="getLocalName" id="org.apache.lucene.gdata.gom.core/GOMAttributeImpl#getLocalName()"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="getTextValue" id="org.apache.lucene.gdata.gom.core/GOMAttributeImpl#getTextValue()"/>
|
||||
<children xsi:type="editmodel:MethodEditModel" name="setTextValue" id="org.apache.lucene.gdata.gom.core/GOMAttributeImpl#setTextValue(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" showAttributes="true" showLiterals="true"/>
|
||||
</children>
|
||||
<diagramOptions xsi:type="options:ClassDiagramOptions" properties="wireOptions=0"/>
|
||||
<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" packageIndication="2" showInterfaceStereotype="true" showAssociationMember="true" showMethods="true" showAttributes="true" showLiterlas="true"/>
|
||||
</editmodel:ClassDiagramEditModel>
|
|
@ -0,0 +1,968 @@
|
|||
<?xml version="1.0" encoding="ASCII"?>
|
||||
<uml:Model xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:uml="http://www.eclipse.org/uml2/2.0.0/UML" xmi:id="_B7TvIH5gEdujQd6ed5A7Ug" name="core">
|
||||
<packagedElement xmi:type="uml:Interface" xmi:id="_r7Q00H5eEdujQd6ed5A7Ug" name="AtomParser" clientDependency="_r7sSoH5eEdujQd6ed5A7Ug _r7uu4X5eEdujQd6ed5A7Ug">
|
||||
<ownedAttribute xmi:id="_r7dCEH5eEdujQd6ed5A7Ug" name="uNEXPECTED_ELEMENENT_VALUE" visibility="public" isLeaf="true" isStatic="true" type="_r7dpIX5eEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_r7lk8H5eEdujQd6ed5A7Ug" value="1"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_r7k94X5eEdujQd6ed5A7Ug"/>
|
||||
</ownedAttribute>
|
||||
<ownedAttribute xmi:id="_r7eQMH5eEdujQd6ed5A7Ug" name="uNEXPECTED_ATTRIBUTE" visibility="public" isLeaf="true" isStatic="true" type="_r7dpIX5eEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_r7pPUX5eEdujQd6ed5A7Ug" value="1"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_r7pPUH5eEdujQd6ed5A7Ug"/>
|
||||
</ownedAttribute>
|
||||
<ownedAttribute xmi:id="_r7e3QH5eEdujQd6ed5A7Ug" name="uNEXPECTED_ELEMENENT_CHILD" visibility="public" isLeaf="true" isStatic="true" type="_r7dpIX5eEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_r7p2YH5eEdujQd6ed5A7Ug" value="1"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_r7pPUn5eEdujQd6ed5A7Ug"/>
|
||||
</ownedAttribute>
|
||||
<ownedAttribute xmi:id="_r7e3QX5eEdujQd6ed5A7Ug" name="uNEXPECTED_ELEMENENT" visibility="public" isLeaf="true" isStatic="true" type="_r7dpIX5eEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_r7p2Yn5eEdujQd6ed5A7Ug" value="1"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_r7p2YX5eEdujQd6ed5A7Ug"/>
|
||||
</ownedAttribute>
|
||||
<ownedAttribute xmi:id="_r7feUH5eEdujQd6ed5A7Ug" name="mISSING_ELEMEMENT_CHILD" visibility="public" isLeaf="true" isStatic="true" type="_r7dpIX5eEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_r7qdcH5eEdujQd6ed5A7Ug" value="1"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_r7p2Y35eEdujQd6ed5A7Ug"/>
|
||||
</ownedAttribute>
|
||||
<ownedAttribute xmi:id="_r7gFYH5eEdujQd6ed5A7Ug" name="mISSING_ELEMEMENT_ATTRIBUTE" visibility="public" isLeaf="true" isStatic="true" type="_r7dpIX5eEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_r7qdcn5eEdujQd6ed5A7Ug" value="1"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_r7qdcX5eEdujQd6ed5A7Ug"/>
|
||||
</ownedAttribute>
|
||||
<ownedOperation xmi:id="_r7gscH5eEdujQd6ed5A7Ug" name="processAttribute" visibility="public" isAbstract="true" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_-KrWIH5fEdujQd6ed5A7Ug" name="aQName" type="_r7h6kH5eEdujQd6ed5A7Ug"/>
|
||||
<ownedParameter xmi:id="_-KrWIX5fEdujQd6ed5A7Ug" name="aValue" type="_r7dpIX5eEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_r7jIsH5eEdujQd6ed5A7Ug" name="getChildParser" visibility="public" isAbstract="true" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_-Kr9MH5fEdujQd6ed5A7Ug" name="name" type="_r7h6kH5eEdujQd6ed5A7Ug"/>
|
||||
<ownedParameter xmi:id="_-KskQH5fEdujQd6ed5A7Ug" type="_r7Q00H5eEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_r7jvwX5eEdujQd6ed5A7Ug" name="processEndElement" visibility="public" isAbstract="true" concurrency="concurrent"/>
|
||||
<ownedOperation xmi:id="_r7kW0H5eEdujQd6ed5A7Ug" name="processElementValue" visibility="public" isAbstract="true" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_-KtLUH5fEdujQd6ed5A7Ug" name="aValue" type="_r7dpIX5eEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Class" xmi:id="_r7h6kH5eEdujQd6ed5A7Ug" name="QName"/>
|
||||
<packagedElement xmi:type="uml:Class" xmi:id="_r8CQ4H5eEdujQd6ed5A7Ug" name="GOMNamespace" clientDependency="_r8qjAH5eEdujQd6ed5A7Ug">
|
||||
<ownedAttribute xmi:id="_r8kcYH5eEdujQd6ed5A7Ug" name="uri" visibility="private" type="_r7dpIX5eEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_r8ot0X5eEdujQd6ed5A7Ug" value="1"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_r8ot0H5eEdujQd6ed5A7Ug"/>
|
||||
</ownedAttribute>
|
||||
<ownedAttribute xmi:id="_r8lDcH5eEdujQd6ed5A7Ug" name="prefix" visibility="private" type="_r7dpIX5eEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_r8pU4X5eEdujQd6ed5A7Ug" value="1"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_r8pU4H5eEdujQd6ed5A7Ug"/>
|
||||
</ownedAttribute>
|
||||
<ownedOperation xmi:id="_r8lqgH5eEdujQd6ed5A7Ug" name="setUri" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_r8mRkH5eEdujQd6ed5A7Ug" name="aUri" type="_r7dpIX5eEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_r8mRkX5eEdujQd6ed5A7Ug" name="getPrefix" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_r8m4oH5eEdujQd6ed5A7Ug" type="_r7dpIX5eEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_r8m4oX5eEdujQd6ed5A7Ug" name="setPrefix" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_r8nfsH5eEdujQd6ed5A7Ug" name="aPrefix" type="_r7dpIX5eEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_r8nfsX5eEdujQd6ed5A7Ug" name="getUri" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_r8oGwH5eEdujQd6ed5A7Ug" type="_r7dpIX5eEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_r8oGwX5eEdujQd6ed5A7Ug" name="GOMNamespace" visibility="public" concurrency="concurrent"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Class" xmi:id="_r8824H5eEdujQd6ed5A7Ug" name="GDataParseException" clientDependency="_r9GA0H5eEdujQd6ed5A7Ug _r9IdEn5eEdujQd6ed5A7Ug">
|
||||
<generalization xmi:id="_r8-FAH5eEdujQd6ed5A7Ug" general="_r89d8H5eEdujQd6ed5A7Ug"/>
|
||||
<ownedOperation xmi:id="_r9AhQH5eEdujQd6ed5A7Ug" name="GDataParseException" visibility="public" concurrency="concurrent"/>
|
||||
<ownedOperation xmi:id="_r9BIUH5eEdujQd6ed5A7Ug" name="GDataParseException" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_r9CWcH5eEdujQd6ed5A7Ug" name="arg0" type="_r7dpIX5eEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_r9CWcX5eEdujQd6ed5A7Ug" name="GDataParseException" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_r9C9gH5eEdujQd6ed5A7Ug" name="arg0" type="_r7dpIX5eEdujQd6ed5A7Ug"/>
|
||||
<ownedParameter xmi:id="_r9ELoX5eEdujQd6ed5A7Ug" name="arg1" type="_r9ELoH5eEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_r9EysH5eEdujQd6ed5A7Ug" name="GDataParseException" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_r9EysX5eEdujQd6ed5A7Ug" name="arg0" type="_r9ELoH5eEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Class" xmi:id="_r9WfgH5eEdujQd6ed5A7Ug" name="GOMAttributeImpl" clientDependency="_r9lJAH5eEdujQd6ed5A7Ug _r9nlQn5eEdujQd6ed5A7Ug">
|
||||
<generalization xmi:id="_r9YUsH5eEdujQd6ed5A7Ug" general="_r9XtoH5eEdujQd6ed5A7Ug"/>
|
||||
<ownedOperation xmi:id="_r9fCYH5eEdujQd6ed5A7Ug" name="setQName" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_r9fpcH5eEdujQd6ed5A7Ug" name="aQname" type="_r7h6kH5eEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_r9fpcX5eEdujQd6ed5A7Ug" name="getTextValue" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_r9gQgH5eEdujQd6ed5A7Ug" type="_r7dpIX5eEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_r9gQgX5eEdujQd6ed5A7Ug" name="setTextValue" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_r9g3kH5eEdujQd6ed5A7Ug" name="aTextValue" type="_r7dpIX5eEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_r9g3kX5eEdujQd6ed5A7Ug" name="setLocalName" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_r9heoH5eEdujQd6ed5A7Ug" name="aLocalName" type="_r7dpIX5eEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_r9iFsH5eEdujQd6ed5A7Ug" name="getLocalName" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_r9iFsX5eEdujQd6ed5A7Ug" type="_r7dpIX5eEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_r9iswH5eEdujQd6ed5A7Ug" name="GOMAttributeImpl" visibility="public" concurrency="concurrent"/>
|
||||
<ownedOperation xmi:id="_r9iswX5eEdujQd6ed5A7Ug" name="getQname" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_r9j64H5eEdujQd6ed5A7Ug" type="_r7h6kH5eEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Interface" xmi:id="_r9XtoH5eEdujQd6ed5A7Ug" name="GOMAttribute">
|
||||
<generalization xmi:id="_sHItoH5eEdujQd6ed5A7Ug" general="_sHIGkH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Class" xmi:id="_r-JwwH5eEdujQd6ed5A7Ug" name="GOMFactory" clientDependency="_r-RskH5eEdujQd6ed5A7Ug _r-Thwn5eEdujQd6ed5A7Ug">
|
||||
<ownedOperation xmi:id="_r-OpQH5eEdujQd6ed5A7Ug" name="GOMFactory" visibility="private" concurrency="concurrent"/>
|
||||
<ownedOperation xmi:id="_r-OpQX5eEdujQd6ed5A7Ug" name="createInstance" visibility="public" isStatic="true" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_r-PQUH5eEdujQd6ed5A7Ug" type="_r-JwwH5eEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_r-PQUX5eEdujQd6ed5A7Ug" name="createFeed" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_r-QecH5eEdujQd6ed5A7Ug" type="_r-P3YH5eEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Interface" xmi:id="_r-P3YH5eEdujQd6ed5A7Ug" name="GOMFeed" clientDependency="_ibYkkH5fEdujQd6ed5A7Ug _ibaZwn5fEdujQd6ed5A7Ug _ibc2AH5fEdujQd6ed5A7Ug _iberMn5fEdujQd6ed5A7Ug _ibggYn5fEdujQd6ed5A7Ug _ibi8oX5fEdujQd6ed5A7Ug _ibkx0n5fEdujQd6ed5A7Ug _ibmnAn5fEdujQd6ed5A7Ug _ibpDQH5fEdujQd6ed5A7Ug _ibq4cn5fEdujQd6ed5A7Ug _ibston5fEdujQd6ed5A7Ug _ibui0n5fEdujQd6ed5A7Ug _ibw_EX5fEdujQd6ed5A7Ug _iby0Qn5fEdujQd6ed5A7Ug _ib13kH5fEdujQd6ed5A7Ug">
|
||||
<generalization xmi:id="_iaGyMH5fEdujQd6ed5A7Ug" general="_sHIGkH5eEdujQd6ed5A7Ug"/>
|
||||
<generalization xmi:id="_iaIAUH5fEdujQd6ed5A7Ug" general="_r-kngH5eEdujQd6ed5A7Ug"/>
|
||||
<ownedAttribute xmi:id="_ia3AIH5fEdujQd6ed5A7Ug" name="oPENSEARCH_NS_PREFIX" visibility="public" isLeaf="true" isStatic="true" type="_r7dpIX5eEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ibR24X5fEdujQd6ed5A7Ug" value="1"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ibR24H5fEdujQd6ed5A7Ug"/>
|
||||
</ownedAttribute>
|
||||
<ownedAttribute xmi:id="_ia3AIX5fEdujQd6ed5A7Ug" name="lOCALNAME_RSS" visibility="public" isLeaf="true" isStatic="true" type="_r7dpIX5eEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ibSd8X5fEdujQd6ed5A7Ug" value="1"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ibSd8H5fEdujQd6ed5A7Ug"/>
|
||||
</ownedAttribute>
|
||||
<ownedAttribute xmi:id="_ia3nMH5fEdujQd6ed5A7Ug" name="oPENSEARCH_NS_URI" visibility="public" isLeaf="true" isStatic="true" type="_r7dpIX5eEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ibSd835fEdujQd6ed5A7Ug" value="1"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ibSd8n5fEdujQd6ed5A7Ug"/>
|
||||
</ownedAttribute>
|
||||
<ownedAttribute xmi:id="_ia4OQH5fEdujQd6ed5A7Ug" name="lOCALNAME" visibility="public" isLeaf="true" isStatic="true" type="_r7dpIX5eEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ibTFAX5fEdujQd6ed5A7Ug" value="1"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ibTFAH5fEdujQd6ed5A7Ug"/>
|
||||
</ownedAttribute>
|
||||
<ownedOperation xmi:id="_ia41UH5fEdujQd6ed5A7Ug" name="getAuthors" visibility="public" isAbstract="true" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_ia6DcH5fEdujQd6ed5A7Ug" type="_sAnO4H5eEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_ia6DcX5fEdujQd6ed5A7Ug" name="addAuthor" visibility="public" isAbstract="true" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_ia6qgH5fEdujQd6ed5A7Ug" name="aAuthor" type="_iKeawH5fEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_ia6qgX5fEdujQd6ed5A7Ug" name="setRights" visibility="public" isAbstract="true" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_ia7RkH5fEdujQd6ed5A7Ug" name="aRights" type="_iJx3MX5fEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_ia74oH5fEdujQd6ed5A7Ug" name="getSubtitle" visibility="public" isAbstract="true" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_ia8fsH5fEdujQd6ed5A7Ug" type="_iJ5L8X5fEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_ia8fsX5fEdujQd6ed5A7Ug" name="getNamespaces" visibility="public" isAbstract="true" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_ia9t0H5fEdujQd6ed5A7Ug" type="_sAnO4H5eEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_ia-U4H5fEdujQd6ed5A7Ug" name="getCategories" visibility="public" isAbstract="true" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_ia_jAH5fEdujQd6ed5A7Ug" type="_sAnO4H5eEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_ia_jAX5fEdujQd6ed5A7Ug" name="setLogo" visibility="public" isAbstract="true" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_ibAKEH5fEdujQd6ed5A7Ug" name="aLogo" type="_iJ2vsH5fEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_ibAxIH5fEdujQd6ed5A7Ug" name="addEntry" visibility="public" isAbstract="true" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_ibB_QH5fEdujQd6ed5A7Ug" name="aEntry" type="_sA-bQH5eEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_ibCmUH5fEdujQd6ed5A7Ug" name="getTitle" visibility="public" isAbstract="true" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_ibDNYH5fEdujQd6ed5A7Ug" type="_iJxQIH5fEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_ibDNYX5fEdujQd6ed5A7Ug" name="addCategory" visibility="public" isAbstract="true" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_ibD0cH5fEdujQd6ed5A7Ug" name="aCategory" type="_iKVQ0H5fEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_ibD0cX5fEdujQd6ed5A7Ug" name="setSubtitle" visibility="public" isAbstract="true" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_ibEbgH5fEdujQd6ed5A7Ug" name="aSubtitle" type="_iJ5L8X5fEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_ibEbgX5fEdujQd6ed5A7Ug" name="getContributor" visibility="public" isAbstract="true" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_ibGQsH5fEdujQd6ed5A7Ug" type="_sAnO4H5eEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_ibGQsX5fEdujQd6ed5A7Ug" name="getRights" visibility="public" isAbstract="true" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_ibG3wH5fEdujQd6ed5A7Ug" type="_iJx3MX5fEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_ibG3wX5fEdujQd6ed5A7Ug" name="getEntries" visibility="public" isAbstract="true" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_ibHe0H5fEdujQd6ed5A7Ug" type="_sAnO4H5eEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_ibHe0X5fEdujQd6ed5A7Ug" name="addContributor" visibility="public" isAbstract="true" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_ibIF4H5fEdujQd6ed5A7Ug" name="aContributor" type="_iKC88X5fEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_ibIF4X5fEdujQd6ed5A7Ug" name="getIcon" visibility="public" isAbstract="true" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_ibIs8H5fEdujQd6ed5A7Ug" type="_iJ390H5fEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_ibIs8X5fEdujQd6ed5A7Ug" name="addNamespace" visibility="public" isAbstract="true" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_ibJUAH5fEdujQd6ed5A7Ug" name="aNamespace" type="_r8CQ4H5eEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_ibJUAX5fEdujQd6ed5A7Ug" name="setIcon" visibility="public" isAbstract="true" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_ibJ7EH5fEdujQd6ed5A7Ug" name="aIcon" type="_iJ390H5fEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_ibKiIH5fEdujQd6ed5A7Ug" name="getId" visibility="public" isAbstract="true" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_ibKiIX5fEdujQd6ed5A7Ug" type="_iJ1hkH5fEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_ibLJMH5fEdujQd6ed5A7Ug" name="getGenerator" visibility="public" isAbstract="true" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_ibLJMX5fEdujQd6ed5A7Ug" type="_iJ4k4H5fEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_ibLwQH5fEdujQd6ed5A7Ug" name="setId" visibility="public" isAbstract="true" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_ibLwQX5fEdujQd6ed5A7Ug" name="aId" type="_iJ1hkH5fEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_ibMXUH5fEdujQd6ed5A7Ug" name="getUpdated" visibility="public" isAbstract="true" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_ibM-YH5fEdujQd6ed5A7Ug" type="_iJ06gH5fEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_ibM-YX5fEdujQd6ed5A7Ug" name="getLogo" visibility="public" isAbstract="true" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_ibNlcH5fEdujQd6ed5A7Ug" type="_iJ2vsH5fEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_ibNlcX5fEdujQd6ed5A7Ug" name="setGenerator" visibility="public" isAbstract="true" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_ibOMgH5fEdujQd6ed5A7Ug" name="aGenerator" type="_iJ4k4H5fEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_ibOMgX5fEdujQd6ed5A7Ug" name="getLinks" visibility="public" isAbstract="true" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_ibPaoH5fEdujQd6ed5A7Ug" type="_sAnO4H5eEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_ibQBsH5fEdujQd6ed5A7Ug" name="setUpdated" visibility="public" isAbstract="true" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_ibQowH5fEdujQd6ed5A7Ug" name="aUpdated" type="_iJ06gH5fEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_ibQowX5fEdujQd6ed5A7Ug" name="setTitle" visibility="public" isAbstract="true" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_ibRP0H5fEdujQd6ed5A7Ug" name="aTitle" type="_iJxQIH5fEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Class" xmi:id="_r-RFgH5eEdujQd6ed5A7Ug" name="GOMFeedImpl" visibility="package" clientDependency="_iL0ekH5fEdujQd6ed5A7Ug _iL2TwX5fEdujQd6ed5A7Ug _iL4wAH5fEdujQd6ed5A7Ug _iL6lMn5fEdujQd6ed5A7Ug _iL8aYn5fEdujQd6ed5A7Ug _iL-2oX5fEdujQd6ed5A7Ug _iMAr0n5fEdujQd6ed5A7Ug _iMChAn5fEdujQd6ed5A7Ug _iMEWMn5fEdujQd6ed5A7Ug _iMGycX5fEdujQd6ed5A7Ug _iMInon5fEdujQd6ed5A7Ug _iMKc0n5fEdujQd6ed5A7Ug _iMM5En5fEdujQd6ed5A7Ug _iMOuQn5fEdujQd6ed5A7Ug _iMQjcn5fEdujQd6ed5A7Ug _iMSYoX5fEdujQd6ed5A7Ug _iMU04X5fEdujQd6ed5A7Ug _iMWqEn5fEdujQd6ed5A7Ug _iMYfQn5fEdujQd6ed5A7Ug _iMa7gH5fEdujQd6ed5A7Ug _iMcwsn5fEdujQd6ed5A7Ug _iMel4n5fEdujQd6ed5A7Ug _iMgbEn5fEdujQd6ed5A7Ug _iMi3Un5fEdujQd6ed5A7Ug _iMksgn5fEdujQd6ed5A7Ug _iMmhsn5fEdujQd6ed5A7Ug _iMo98X5fEdujQd6ed5A7Ug _iMqzIn5fEdujQd6ed5A7Ug _iMsoUX5fEdujQd6ed5A7Ug _iMudgn5fEdujQd6ed5A7Ug">
|
||||
<generalization xmi:id="_iHk3wH5fEdujQd6ed5A7Ug" general="_iHkQsH5fEdujQd6ed5A7Ug"/>
|
||||
<generalization xmi:id="_iHnUAH5fEdujQd6ed5A7Ug" general="_r-P3YH5eEdujQd6ed5A7Ug"/>
|
||||
<ownedAttribute xmi:id="_iJwCAH5fEdujQd6ed5A7Ug" name="contributors" visibility="private" type="_iKC88X5fEdujQd6ed5A7Ug" association="_iKwHkX5fEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iKfo4H5fEdujQd6ed5A7Ug" value="*"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iKfB0X5fEdujQd6ed5A7Ug"/>
|
||||
</ownedAttribute>
|
||||
<ownedAttribute xmi:id="_iJwpEH5fEdujQd6ed5A7Ug" name="title" visibility="private" type="_iJxQIH5fEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iKfo435fEdujQd6ed5A7Ug" value="1"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iKfo4n5fEdujQd6ed5A7Ug"/>
|
||||
</ownedAttribute>
|
||||
<ownedAttribute xmi:id="_iJx3MH5fEdujQd6ed5A7Ug" name="rights" visibility="private" type="_iJx3MX5fEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iKgP8X5fEdujQd6ed5A7Ug" value="1"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iKgP8H5fEdujQd6ed5A7Ug"/>
|
||||
</ownedAttribute>
|
||||
<ownedAttribute xmi:id="_iJyeQH5fEdujQd6ed5A7Ug" name="categories" visibility="private" type="_iKVQ0H5fEdujQd6ed5A7Ug" association="_iK5RgH5fEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iKgP835fEdujQd6ed5A7Ug" value="*"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iKgP8n5fEdujQd6ed5A7Ug"/>
|
||||
</ownedAttribute>
|
||||
<ownedAttribute xmi:id="_iJzFUH5fEdujQd6ed5A7Ug" name="namespaces" visibility="private" type="_r8CQ4H5eEdujQd6ed5A7Ug" association="_iK6foH5fEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iKg3An5fEdujQd6ed5A7Ug" value="*"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iKg3AX5fEdujQd6ed5A7Ug"/>
|
||||
</ownedAttribute>
|
||||
<ownedAttribute xmi:id="_iJzFUX5fEdujQd6ed5A7Ug" name="authors" visibility="private" type="_iKeawH5fEdujQd6ed5A7Ug" association="_iLiKsX5fEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iKheEH5fEdujQd6ed5A7Ug" value="*"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iKg3BH5fEdujQd6ed5A7Ug"/>
|
||||
</ownedAttribute>
|
||||
<ownedAttribute xmi:id="_iJzsYH5fEdujQd6ed5A7Ug" name="entries" visibility="private" type="_sA-bQH5eEdujQd6ed5A7Ug" association="_iLEQoX5fEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iKheE35fEdujQd6ed5A7Ug" value="*"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iKheEn5fEdujQd6ed5A7Ug"/>
|
||||
</ownedAttribute>
|
||||
<ownedAttribute xmi:id="_iJ0TcH5fEdujQd6ed5A7Ug" name="updated" visibility="private" type="_iJ06gH5fEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iKjTQX5fEdujQd6ed5A7Ug" value="1"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iKjTQH5fEdujQd6ed5A7Ug"/>
|
||||
</ownedAttribute>
|
||||
<ownedAttribute xmi:id="_iJ06gX5fEdujQd6ed5A7Ug" name="id" visibility="private" type="_iJ1hkH5fEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iKj6UX5fEdujQd6ed5A7Ug" value="1"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iKj6UH5fEdujQd6ed5A7Ug"/>
|
||||
</ownedAttribute>
|
||||
<ownedAttribute xmi:id="_iJ2IoH5fEdujQd6ed5A7Ug" name="logo" visibility="private" type="_iJ2vsH5fEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iKkhYH5fEdujQd6ed5A7Ug" value="1"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iKj6Un5fEdujQd6ed5A7Ug"/>
|
||||
</ownedAttribute>
|
||||
<ownedAttribute xmi:id="_iJ2vsX5fEdujQd6ed5A7Ug" name="links" visibility="private" type="_iLjY0H5fEdujQd6ed5A7Ug" association="_iLr7sH5fEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iKkhYn5fEdujQd6ed5A7Ug" value="*"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iKkhYX5fEdujQd6ed5A7Ug"/>
|
||||
</ownedAttribute>
|
||||
<ownedAttribute xmi:id="_iJ3WwH5fEdujQd6ed5A7Ug" name="icon" visibility="private" type="_iJ390H5fEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iKlIcX5fEdujQd6ed5A7Ug" value="1"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iKlIcH5fEdujQd6ed5A7Ug"/>
|
||||
</ownedAttribute>
|
||||
<ownedAttribute xmi:id="_iJ390X5fEdujQd6ed5A7Ug" name="generator" visibility="private" type="_iJ4k4H5fEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iKlIc35fEdujQd6ed5A7Ug" value="1"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iKlIcn5fEdujQd6ed5A7Ug"/>
|
||||
</ownedAttribute>
|
||||
<ownedAttribute xmi:id="_iJ5L8H5fEdujQd6ed5A7Ug" name="subtitle" visibility="private" type="_iJ5L8X5fEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iKlvgX5fEdujQd6ed5A7Ug" value="1"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iKlvgH5fEdujQd6ed5A7Ug"/>
|
||||
</ownedAttribute>
|
||||
<ownedOperation xmi:id="_iJ5zAH5fEdujQd6ed5A7Ug" name="getAuthors" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iJ6aEH5fEdujQd6ed5A7Ug" type="_sAnO4H5eEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iJ6aEX5fEdujQd6ed5A7Ug" name="setLogo" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iJ7BIH5fEdujQd6ed5A7Ug" name="aLogo" type="_iJ2vsH5fEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iJ7BIX5fEdujQd6ed5A7Ug" name="processEndElement" visibility="public" concurrency="concurrent"/>
|
||||
<ownedOperation xmi:id="_iJ7oMH5fEdujQd6ed5A7Ug" name="getRights" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iJ8PQH5fEdujQd6ed5A7Ug" type="_iJx3MX5fEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iJ8PQX5fEdujQd6ed5A7Ug" name="setIcon" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iJ82UH5fEdujQd6ed5A7Ug" name="aIcon" type="_iJ390H5fEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iJ82UX5fEdujQd6ed5A7Ug" name="getUpdated" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iJ9dYH5fEdujQd6ed5A7Ug" type="_iJ06gH5fEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iJ9dYX5fEdujQd6ed5A7Ug" name="setId" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iJ-rgH5fEdujQd6ed5A7Ug" name="aId" type="_iJ1hkH5fEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iJ-rgX5fEdujQd6ed5A7Ug" name="getIcon" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iJ_SkH5fEdujQd6ed5A7Ug" type="_iJ390H5fEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iJ_SkX5fEdujQd6ed5A7Ug" name="getId" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iJ_5oH5fEdujQd6ed5A7Ug" type="_iJ1hkH5fEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iJ_5oX5fEdujQd6ed5A7Ug" name="getGenerator" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iKAgsH5fEdujQd6ed5A7Ug" type="_iJ4k4H5fEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iKAgsX5fEdujQd6ed5A7Ug" name="getEntries" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iKBHwH5fEdujQd6ed5A7Ug" type="_sAnO4H5eEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iKBHwX5fEdujQd6ed5A7Ug" name="getNamespaces" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iKBu0H5fEdujQd6ed5A7Ug" type="_sAnO4H5eEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iKBu0X5fEdujQd6ed5A7Ug" name="GOMFeedImpl" visibility="package" concurrency="concurrent"/>
|
||||
<ownedOperation xmi:id="_iKCV4H5fEdujQd6ed5A7Ug" name="getLocalName" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iKCV4X5fEdujQd6ed5A7Ug" type="_r7dpIX5eEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iKC88H5fEdujQd6ed5A7Ug" name="addContributor" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iKDkAH5fEdujQd6ed5A7Ug" name="aContributor" type="_iKC88X5fEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iKELEH5fEdujQd6ed5A7Ug" name="getLinks" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iKEyIH5fEdujQd6ed5A7Ug" type="_sAnO4H5eEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iKEyIX5fEdujQd6ed5A7Ug" name="getTitle" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iKFZMH5fEdujQd6ed5A7Ug" type="_iJxQIH5fEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iKFZMX5fEdujQd6ed5A7Ug" name="setSubtitle" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iKFZMn5fEdujQd6ed5A7Ug" name="aSubtitle" type="_iJ5L8X5fEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iKGAQH5fEdujQd6ed5A7Ug" name="addNamespace" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iKGnUH5fEdujQd6ed5A7Ug" name="aNamespace" type="_r8CQ4H5eEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iKGnUX5fEdujQd6ed5A7Ug" name="addChild" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iKJDkH5fEdujQd6ed5A7Ug" name="aElement" type="_r-kngH5eEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iKJqoH5fEdujQd6ed5A7Ug" name="setRights" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iKKRsH5fEdujQd6ed5A7Ug" name="aRights" type="_iJx3MX5fEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iKKRsX5fEdujQd6ed5A7Ug" name="getSubtitle" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iKK4wH5fEdujQd6ed5A7Ug" type="_iJ5L8X5fEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iKK4wX5fEdujQd6ed5A7Ug" name="addEntry" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iKLf0H5fEdujQd6ed5A7Ug" name="aEntry" type="_sA-bQH5eEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iKMG4H5fEdujQd6ed5A7Ug" name="setTitle" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iKMt8H5fEdujQd6ed5A7Ug" name="aTitle" type="_iJxQIH5fEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iKMt8X5fEdujQd6ed5A7Ug" name="setGenerator" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iKNVAH5fEdujQd6ed5A7Ug" name="aGenerator" type="_iJ4k4H5fEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iKNVAX5fEdujQd6ed5A7Ug" name="getCategories" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iKN8EH5fEdujQd6ed5A7Ug" type="_sAnO4H5eEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iKOjIH5fEdujQd6ed5A7Ug" name="processAttribute" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iKQYUH5fEdujQd6ed5A7Ug" name="aQName" type="_r7h6kH5eEdujQd6ed5A7Ug"/>
|
||||
<ownedParameter xmi:id="_iKQ_YH5fEdujQd6ed5A7Ug" name="aValue" type="_r7dpIX5eEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iKQ_YX5fEdujQd6ed5A7Ug" name="setUpdated" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iKRmcH5fEdujQd6ed5A7Ug" name="aUpdated" type="_iJ06gH5fEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iKSNgH5fEdujQd6ed5A7Ug" name="getContributor" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iKS0kH5fEdujQd6ed5A7Ug" type="_sAnO4H5eEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iKS0kX5fEdujQd6ed5A7Ug" name="processElementValue" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iKTboH5fEdujQd6ed5A7Ug" name="aValue" type="_r7dpIX5eEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iKTboX5fEdujQd6ed5A7Ug" name="getChildren" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iKUpwH5fEdujQd6ed5A7Ug" type="_iKUCsH5fEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iKUpwX5fEdujQd6ed5A7Ug" name="addCategory" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iKVQ0X5fEdujQd6ed5A7Ug" name="aCategory" type="_iKVQ0H5fEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iKV34H5fEdujQd6ed5A7Ug" name="writeAtomOutput" visibility="public" concurrency="concurrent" raisedException="_r_OHwH5eEdujQd6ed5A7Ug">
|
||||
<ownedParameter xmi:id="_iKYUIH5fEdujQd6ed5A7Ug" name="aStreamWriter" type="_r_MSkH5eEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iKawYH5fEdujQd6ed5A7Ug" name="getChildParser" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iKbXcH5fEdujQd6ed5A7Ug" name="aName" type="_r7h6kH5eEdujQd6ed5A7Ug"/>
|
||||
<ownedParameter xmi:id="_iKb-gH5fEdujQd6ed5A7Ug" type="_r7Q00H5eEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iKb-gX5fEdujQd6ed5A7Ug" name="getLogo" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iKclkH5fEdujQd6ed5A7Ug" type="_iJ2vsH5fEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iKclkX5fEdujQd6ed5A7Ug" name="writeRssOutput" visibility="public" concurrency="concurrent" raisedException="_r_OHwH5eEdujQd6ed5A7Ug">
|
||||
<ownedParameter xmi:id="_iKdMoH5fEdujQd6ed5A7Ug" name="aStreamWriter" type="_r_MSkH5eEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iKdzsH5fEdujQd6ed5A7Ug" name="addAuthor" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iKfB0H5fEdujQd6ed5A7Ug" name="aAuthor" type="_iKeawH5fEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Interface" xmi:id="_r-kngH5eEdujQd6ed5A7Ug" name="GOMElement"/>
|
||||
<packagedElement xmi:type="uml:Class" xmi:id="_r-yp8H5eEdujQd6ed5A7Ug" name="GOMDocumentImpl" clientDependency="_r_vsMH5eEdujQd6ed5A7Ug _r_xhYn5eEdujQd6ed5A7Ug _r_z9on5eEdujQd6ed5A7Ug _r_1y0n5eEdujQd6ed5A7Ug _r_3oAX5eEdujQd6ed5A7Ug">
|
||||
<generalization xmi:id="_r-1GMH5eEdujQd6ed5A7Ug" general="_r-0fIH5eEdujQd6ed5A7Ug"/>
|
||||
<ownedAttribute xmi:id="_r_HaEH5eEdujQd6ed5A7Ug" name="charEncoding" visibility="private" type="_r7dpIX5eEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_r_l7MX5eEdujQd6ed5A7Ug" value="1"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_r_l7MH5eEdujQd6ed5A7Ug"/>
|
||||
</ownedAttribute>
|
||||
<ownedAttribute xmi:id="_r_HaEX5eEdujQd6ed5A7Ug" name="root" visibility="private">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_r_miQX5eEdujQd6ed5A7Ug" value="1"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_r_miQH5eEdujQd6ed5A7Ug"/>
|
||||
</ownedAttribute>
|
||||
<ownedAttribute xmi:id="_r_KdYH5eEdujQd6ed5A7Ug" name="version" visibility="private" type="_r7dpIX5eEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_r_nJUH5eEdujQd6ed5A7Ug" value="1"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_r_miQn5eEdujQd6ed5A7Ug"/>
|
||||
</ownedAttribute>
|
||||
<ownedOperation xmi:id="_r_LEcH5eEdujQd6ed5A7Ug" name="writeRssOutput" visibility="public" concurrency="concurrent" raisedException="_r_OHwH5eEdujQd6ed5A7Ug">
|
||||
<ownedParameter xmi:id="_r_M5oH5eEdujQd6ed5A7Ug" name="aStreamWriter" type="_r_MSkH5eEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_r_Ou0H5eEdujQd6ed5A7Ug" name="getRootElement" visibility="public" concurrency="concurrent"/>
|
||||
<ownedOperation xmi:id="_r_RyIH5eEdujQd6ed5A7Ug" name="writeAtomOutput" visibility="public" concurrency="concurrent" raisedException="_r_OHwH5eEdujQd6ed5A7Ug">
|
||||
<ownedParameter xmi:id="_r_SZMH5eEdujQd6ed5A7Ug" name="aStreamWriter" type="_r_MSkH5eEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_r_SZMX5eEdujQd6ed5A7Ug" name="setVersion" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_r_TAQH5eEdujQd6ed5A7Ug" name="aVersion" type="_r7dpIX5eEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_r_TnUH5eEdujQd6ed5A7Ug" name="getCharacterEncoding" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_r_hCsH5eEdujQd6ed5A7Ug" type="_r7dpIX5eEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_r_hCsX5eEdujQd6ed5A7Ug" name="setCharacterEncoding" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_r_hpwH5eEdujQd6ed5A7Ug" name="aEncoding" type="_r7dpIX5eEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_r_iQ0H5eEdujQd6ed5A7Ug" name="getVersion" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_r_iQ0X5eEdujQd6ed5A7Ug" type="_r7dpIX5eEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_r_i34H5eEdujQd6ed5A7Ug" name="GOMDocumentImpl" visibility="public" concurrency="concurrent"/>
|
||||
<ownedOperation xmi:id="_r_i34X5eEdujQd6ed5A7Ug" name="setRootElement" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_r_lUIH5eEdujQd6ed5A7Ug" name="aRootElement"/>
|
||||
</ownedOperation>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Interface" xmi:id="_r-0fIH5eEdujQd6ed5A7Ug" name="GOMDocument" clientDependency="_sH6wwH5eEdujQd6ed5A7Ug _sH9NAn5eEdujQd6ed5A7Ug _sH_CMn5eEdujQd6ed5A7Ug _sIA3Yn5eEdujQd6ed5A7Ug _sIDToX5eEdujQd6ed5A7Ug">
|
||||
<ownedOperation xmi:id="_sHmAoH5eEdujQd6ed5A7Ug" name="writeAtomOutput" visibility="public" isAbstract="true" concurrency="concurrent" raisedException="_r_OHwH5eEdujQd6ed5A7Ug">
|
||||
<ownedParameter xmi:id="_sHnOwH5eEdujQd6ed5A7Ug" name="aStreamWriter" type="_r_MSkH5eEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_sHoc4H5eEdujQd6ed5A7Ug" name="writeRssOutput" visibility="public" isAbstract="true" concurrency="concurrent" raisedException="_r_OHwH5eEdujQd6ed5A7Ug">
|
||||
<ownedParameter xmi:id="_sHpD8H5eEdujQd6ed5A7Ug" name="aStreamWriter" type="_r_MSkH5eEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_sHprAH5eEdujQd6ed5A7Ug" name="getVersion" visibility="public" isAbstract="true" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_sHqSEH5eEdujQd6ed5A7Ug" type="_r7dpIX5eEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_sHqSEX5eEdujQd6ed5A7Ug" name="getCharacterEncoding" visibility="public" isAbstract="true" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_sHq5IH5eEdujQd6ed5A7Ug" type="_r7dpIX5eEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_sHq5IX5eEdujQd6ed5A7Ug" name="getRootElement" visibility="public" isAbstract="true" concurrency="concurrent"/>
|
||||
<ownedOperation xmi:id="_sHwYsH5eEdujQd6ed5A7Ug" name="setCharacterEncoding" visibility="public" isAbstract="true" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_sHw_wH5eEdujQd6ed5A7Ug" name="aEncoding" type="_r7dpIX5eEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_sHxm0H5eEdujQd6ed5A7Ug" name="setVersion" visibility="public" isAbstract="true" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_sHxm0X5eEdujQd6ed5A7Ug" name="aVersion" type="_r7dpIX5eEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_sHyN4H5eEdujQd6ed5A7Ug" name="setRootElement" visibility="public" isAbstract="true" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_sH0qIH5eEdujQd6ed5A7Ug" name="aRootElement"/>
|
||||
</ownedOperation>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Interface" xmi:id="_r_MSkH5eEdujQd6ed5A7Ug" name="XMLStreamWriter" isAbstract="true"/>
|
||||
<packagedElement xmi:type="uml:Class" xmi:id="_r_OHwH5eEdujQd6ed5A7Ug" name="XMLStreamException"/>
|
||||
<packagedElement xmi:type="uml:Class" xmi:id="_sAJ74H5eEdujQd6ed5A7Ug" name="GOMBuilder" clientDependency="_sBMdsX5eEdujQd6ed5A7Ug _sBOS4X5eEdujQd6ed5A7Ug _sBQIEn5eEdujQd6ed5A7Ug _sBSkUX5eEdujQd6ed5A7Ug _sBUZgX5eEdujQd6ed5A7Ug _sBWOsn5eEdujQd6ed5A7Ug _sBYq8n5eEdujQd6ed5A7Ug _sBagIn5eEdujQd6ed5A7Ug _sBcVUX5eEdujQd6ed5A7Ug _sBexkn5eEdujQd6ed5A7Ug _sBhN0H5eEdujQd6ed5A7Ug _sBjDAn5eEdujQd6ed5A7Ug _sBmGUH5eEdujQd6ed5A7Ug _sBn7gn5eEdujQd6ed5A7Ug _sBqXwX5eEdujQd6ed5A7Ug _sBsM8X5eEdujQd6ed5A7Ug _sBuCIn5eEdujQd6ed5A7Ug _lnc38H5fEdujQd6ed5A7Ug _lngiUX5fEdujQd6ed5A7Ug _lni-kH5fEdujQd6ed5A7Ug _lnkzwX5fEdujQd6ed5A7Ug _ln4VwH5fEdujQd6ed5A7Ug _ln8AIX5fEdujQd6ed5A7Ug _ln-cYX5fEdujQd6ed5A7Ug _loA4oH5fEdujQd6ed5A7Ug _-nSZoH5fEdujQd6ed5A7Ug _-nUO0X5fEdujQd6ed5A7Ug _-nWrEH5fEdujQd6ed5A7Ug _-nYgQX5fEdujQd6ed5A7Ug _BYTvwH5gEdujQd6ed5A7Ug _BYWMAX5gEdujQd6ed5A7Ug _BYYBMX5gEdujQd6ed5A7Ug _BYadcH5gEdujQd6ed5A7Ug">
|
||||
<ownedAttribute xmi:id="_sAkyoH5eEdujQd6ed5A7Ug" name="parserStack" visibility="private" isLeaf="true" type="_r7Q00H5eEdujQd6ed5A7Ug" association="_sBCFoH5eEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_sA_CUX5eEdujQd6ed5A7Ug" value="*"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_sA_CUH5eEdujQd6ed5A7Ug"/>
|
||||
</ownedAttribute>
|
||||
<ownedAttribute xmi:id="_sAnO4X5eEdujQd6ed5A7Ug" name="lastLocalName" visibility="private" type="_r7h6kH5eEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_sBAQcn5eEdujQd6ed5A7Ug" value="1"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_sBAQcX5eEdujQd6ed5A7Ug"/>
|
||||
</ownedAttribute>
|
||||
<ownedAttribute xmi:id="_sAn18H5eEdujQd6ed5A7Ug" name="streamReader" visibility="private" isLeaf="true" type="_sAodAH5eEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_sBAQdH5eEdujQd6ed5A7Ug" value="1"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_sBAQc35eEdujQd6ed5A7Ug"/>
|
||||
</ownedAttribute>
|
||||
<ownedAttribute xmi:id="_sAodAX5eEdujQd6ed5A7Ug" name="factory" visibility="private" isLeaf="true" type="_r-JwwH5eEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_sBA3gX5eEdujQd6ed5A7Ug" value="1"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_sBA3gH5eEdujQd6ed5A7Ug"/>
|
||||
</ownedAttribute>
|
||||
<ownedOperation xmi:id="_sApEEH5eEdujQd6ed5A7Ug" name="next" visibility="private" concurrency="concurrent" raisedException="_r_OHwH5eEdujQd6ed5A7Ug">
|
||||
<ownedParameter xmi:id="_BYLM4H5gEdujQd6ed5A7Ug" direction="return">
|
||||
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
|
||||
</ownedParameter>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_sArgUH5eEdujQd6ed5A7Ug" name="parse" visibility="private" concurrency="concurrent" raisedException="_r_OHwH5eEdujQd6ed5A7Ug">
|
||||
<ownedParameter xmi:id="_BYMbAH5gEdujQd6ed5A7Ug" name="aReader" type="_sAodAH5eEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_sA6w4H5eEdujQd6ed5A7Ug" name="processAttributes" visibility="private" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_BYNpIH5gEdujQd6ed5A7Ug" name="childParser" type="_r7Q00H5eEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_sA7X8X5eEdujQd6ed5A7Ug" name="startFeedDocument" visibility="private" concurrency="concurrent" raisedException="_r_OHwH5eEdujQd6ed5A7Ug">
|
||||
<ownedParameter xmi:id="_BYLz8H5gEdujQd6ed5A7Ug" name="aDocument" type="_r-0fIH5eEdujQd6ed5A7Ug"/>
|
||||
<ownedParameter xmi:id="_BYLz8X5gEdujQd6ed5A7Ug" type="_r-P3YH5eEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_sA8mEH5eEdujQd6ed5A7Ug" name="buildGOMFeed" visibility="public" concurrency="concurrent" raisedException="_r_OHwH5eEdujQd6ed5A7Ug">
|
||||
<ownedParameter xmi:id="_BYOQMH5gEdujQd6ed5A7Ug" type="_r-0fIH5eEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_sA9NIH5eEdujQd6ed5A7Ug" name="GOMBuilder" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_BYNCEH5gEdujQd6ed5A7Ug" name="arg0" type="_sAodAH5eEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_sA90MX5eEdujQd6ed5A7Ug" name="buildGOMEntry" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_BYO3QH5gEdujQd6ed5A7Ug" type="_sA-bQH5eEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Interface" xmi:id="_sAodAH5eEdujQd6ed5A7Ug" name="XMLStreamReader" isAbstract="true"/>
|
||||
<packagedElement xmi:type="uml:Interface" xmi:id="_sA-bQH5eEdujQd6ed5A7Ug" name="GOMEntry">
|
||||
<generalization xmi:id="_iK8U0H5fEdujQd6ed5A7Ug" general="_sHIGkH5eEdujQd6ed5A7Ug"/>
|
||||
<generalization xmi:id="_iK9i8H5fEdujQd6ed5A7Ug" general="_r-kngH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Association" xmi:id="_sBCFoH5eEdujQd6ed5A7Ug" memberEnd="_sAkyoH5eEdujQd6ed5A7Ug _sBCssH5eEdujQd6ed5A7Ug">
|
||||
<name xsi:nil="true"/>
|
||||
<ownedEnd xmi:id="_sBCssH5eEdujQd6ed5A7Ug" name="" type="_sAJ74H5eEdujQd6ed5A7Ug" association="_sBCFoH5eEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_sBCssX5eEdujQd6ed5A7Ug" value="1"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_sBCssn5eEdujQd6ed5A7Ug"/>
|
||||
</ownedEnd>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Interface" xmi:id="_sHIGkH5eEdujQd6ed5A7Ug" name="GOMXmlEntity"/>
|
||||
<packagedElement xmi:type="uml:Class" xmi:id="_iHkQsH5fEdujQd6ed5A7Ug" name="AbstractGOMElement" visibility="package" clientDependency="_iZqtUH5fEdujQd6ed5A7Ug _iZtJkn5fEdujQd6ed5A7Ug _iZu-wn5fEdujQd6ed5A7Ug _iZxbAX5fEdujQd6ed5A7Ug _iZzQMn5fEdujQd6ed5A7Ug _iZ1FYn5fEdujQd6ed5A7Ug _iZ3hoX5fEdujQd6ed5A7Ug _iZ5W0X5fEdujQd6ed5A7Ug _iZ7MAn5fEdujQd6ed5A7Ug" isAbstract="true">
|
||||
<generalization xmi:id="_iYpZoH5fEdujQd6ed5A7Ug" general="_r-kngH5eEdujQd6ed5A7Ug"/>
|
||||
<ownedAttribute xmi:id="_iZZAgH5fEdujQd6ed5A7Ug" name="extensionAttributes" visibility="protected" type="_r9XtoH5eEdujQd6ed5A7Ug" association="_iZnqAH5fEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iZlNwX5fEdujQd6ed5A7Ug" value="*"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iZlNwH5fEdujQd6ed5A7Ug"/>
|
||||
</ownedAttribute>
|
||||
<ownedAttribute xmi:id="_iZZnkH5fEdujQd6ed5A7Ug" name="textValue" visibility="protected" type="_r7dpIX5eEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iZl00n5fEdujQd6ed5A7Ug" value="1"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iZl00X5fEdujQd6ed5A7Ug"/>
|
||||
</ownedAttribute>
|
||||
<ownedAttribute xmi:id="_iZaOoH5fEdujQd6ed5A7Ug" name="qname" visibility="protected" type="_r7h6kH5eEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iZmb4H5fEdujQd6ed5A7Ug" value="1"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iZl0035fEdujQd6ed5A7Ug"/>
|
||||
</ownedAttribute>
|
||||
<ownedAttribute xmi:id="_iZaOoX5fEdujQd6ed5A7Ug" name="localName" visibility="protected" type="_r7dpIX5eEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iZmb4n5fEdujQd6ed5A7Ug" value="1"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iZmb4X5fEdujQd6ed5A7Ug"/>
|
||||
</ownedAttribute>
|
||||
<ownedAttribute xmi:id="_iZa1sH5fEdujQd6ed5A7Ug" name="parent" visibility="protected" type="_r-kngH5eEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iZnC8X5fEdujQd6ed5A7Ug" value="1"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iZnC8H5fEdujQd6ed5A7Ug"/>
|
||||
</ownedAttribute>
|
||||
<ownedOperation xmi:id="_iZbcwH5fEdujQd6ed5A7Ug" name="getAttributes" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iZcD0H5fEdujQd6ed5A7Ug" type="_iKUCsH5fEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iZcD0X5fEdujQd6ed5A7Ug" name="addAttribute" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iZcD0n5fEdujQd6ed5A7Ug" name="aAttribute" type="_r9XtoH5eEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iZcq4H5fEdujQd6ed5A7Ug" name="getChildParser" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iZdR8H5fEdujQd6ed5A7Ug" name="aName" type="_r7h6kH5eEdujQd6ed5A7Ug"/>
|
||||
<ownedParameter xmi:id="_iZdR8X5fEdujQd6ed5A7Ug" type="_r7Q00H5eEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iZdR8n5fEdujQd6ed5A7Ug" name="getLocalName" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iZegEH5fEdujQd6ed5A7Ug" type="_r7dpIX5eEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iZegEX5fEdujQd6ed5A7Ug" name="setQName" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iZfHIH5fEdujQd6ed5A7Ug" name="aQname" type="_r7h6kH5eEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iZfHIX5fEdujQd6ed5A7Ug" name="setLocalName" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iZfuMH5fEdujQd6ed5A7Ug" name="aLocalName" type="_r7dpIX5eEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iZgVQH5fEdujQd6ed5A7Ug" name="processElementValue" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iZgVQX5fEdujQd6ed5A7Ug" name="aValue" type="_r7dpIX5eEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iZg8UH5fEdujQd6ed5A7Ug" name="getTextValue" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iZhjYH5fEdujQd6ed5A7Ug" type="_r7dpIX5eEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iZhjYX5fEdujQd6ed5A7Ug" name="processEndElement" visibility="public" concurrency="concurrent"/>
|
||||
<ownedOperation xmi:id="_iZiKcH5fEdujQd6ed5A7Ug" name="getParent" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iZixgH5fEdujQd6ed5A7Ug" type="_r-kngH5eEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iZixgX5fEdujQd6ed5A7Ug" name="getQname" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iZjYkH5fEdujQd6ed5A7Ug" type="_r7h6kH5eEdujQd6ed5A7Ug" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iZjYkX5fEdujQd6ed5A7Ug" name="processAttribute" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iZjYkn5fEdujQd6ed5A7Ug" name="aQName" type="_r7h6kH5eEdujQd6ed5A7Ug"/>
|
||||
<ownedParameter xmi:id="_iZj_oH5fEdujQd6ed5A7Ug" name="aValue" type="_r7dpIX5eEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_iZj_oX5fEdujQd6ed5A7Ug" name="setTextValue" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_iZkmsH5fEdujQd6ed5A7Ug" name="aTextValue" type="_r7dpIX5eEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Interface" xmi:id="_iJxQIH5fEdujQd6ed5A7Ug" name="GOMTitle"/>
|
||||
<packagedElement xmi:type="uml:Interface" xmi:id="_iJx3MX5fEdujQd6ed5A7Ug" name="GOMRights"/>
|
||||
<packagedElement xmi:type="uml:Interface" xmi:id="_iJ06gH5fEdujQd6ed5A7Ug" name="GOMTime"/>
|
||||
<packagedElement xmi:type="uml:Interface" xmi:id="_iJ1hkH5fEdujQd6ed5A7Ug" name="GOMId"/>
|
||||
<packagedElement xmi:type="uml:Interface" xmi:id="_iJ2vsH5fEdujQd6ed5A7Ug" name="GOMLogo"/>
|
||||
<packagedElement xmi:type="uml:Interface" xmi:id="_iJ390H5fEdujQd6ed5A7Ug" name="GOMIcon"/>
|
||||
<packagedElement xmi:type="uml:Interface" xmi:id="_iJ4k4H5fEdujQd6ed5A7Ug" name="GOMGenerator"/>
|
||||
<packagedElement xmi:type="uml:Interface" xmi:id="_iJ5L8X5fEdujQd6ed5A7Ug" name="GOMSubtitle"/>
|
||||
<packagedElement xmi:type="uml:Interface" xmi:id="_iKC88X5fEdujQd6ed5A7Ug" name="GOMContributor">
|
||||
<generalization xmi:id="_iKoy0H5fEdujQd6ed5A7Ug" general="_r-kngH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Interface" xmi:id="_iKVQ0H5fEdujQd6ed5A7Ug" name="GOMCategory">
|
||||
<generalization xmi:id="_iKx8wH5fEdujQd6ed5A7Ug" general="_r-kngH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Interface" xmi:id="_iKeawH5fEdujQd6ed5A7Ug" name="GOMAuthor">
|
||||
<generalization xmi:id="_iLGs4H5fEdujQd6ed5A7Ug" general="_r-kngH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Association" xmi:id="_iKwHkX5fEdujQd6ed5A7Ug" memberEnd="_iJwCAH5fEdujQd6ed5A7Ug _iKwuoH5fEdujQd6ed5A7Ug">
|
||||
<name xsi:nil="true"/>
|
||||
<ownedEnd xmi:id="_iKwuoH5fEdujQd6ed5A7Ug" name="" type="_r-RFgH5eEdujQd6ed5A7Ug" association="_iKwHkX5fEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iKwuoX5fEdujQd6ed5A7Ug" value="1"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iKwuon5fEdujQd6ed5A7Ug"/>
|
||||
</ownedEnd>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Association" xmi:id="_iK5RgH5fEdujQd6ed5A7Ug" memberEnd="_iJyeQH5fEdujQd6ed5A7Ug _iK5RgX5fEdujQd6ed5A7Ug">
|
||||
<name xsi:nil="true"/>
|
||||
<ownedEnd xmi:id="_iK5RgX5fEdujQd6ed5A7Ug" name="" type="_r-RFgH5eEdujQd6ed5A7Ug" association="_iK5RgH5fEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iK5Rgn5fEdujQd6ed5A7Ug" value="1"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iK5Rg35fEdujQd6ed5A7Ug"/>
|
||||
</ownedEnd>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Association" xmi:id="_iK6foH5fEdujQd6ed5A7Ug" memberEnd="_iJzFUH5fEdujQd6ed5A7Ug _iK6foX5fEdujQd6ed5A7Ug">
|
||||
<name xsi:nil="true"/>
|
||||
<ownedEnd xmi:id="_iK6foX5fEdujQd6ed5A7Ug" name="" type="_r-RFgH5eEdujQd6ed5A7Ug" association="_iK6foH5fEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iK6fon5fEdujQd6ed5A7Ug" value="1"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iK6fo35fEdujQd6ed5A7Ug"/>
|
||||
</ownedEnd>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Association" xmi:id="_iLEQoX5fEdujQd6ed5A7Ug" memberEnd="_iJzsYH5fEdujQd6ed5A7Ug _iLE3sH5fEdujQd6ed5A7Ug">
|
||||
<name xsi:nil="true"/>
|
||||
<ownedEnd xmi:id="_iLE3sH5fEdujQd6ed5A7Ug" name="" type="_r-RFgH5eEdujQd6ed5A7Ug" association="_iLEQoX5fEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iLE3sX5fEdujQd6ed5A7Ug" value="1"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iLE3sn5fEdujQd6ed5A7Ug"/>
|
||||
</ownedEnd>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Association" xmi:id="_iLiKsX5fEdujQd6ed5A7Ug" memberEnd="_iJzFUX5fEdujQd6ed5A7Ug _iLixwH5fEdujQd6ed5A7Ug">
|
||||
<name xsi:nil="true"/>
|
||||
<ownedEnd xmi:id="_iLixwH5fEdujQd6ed5A7Ug" name="" type="_r-RFgH5eEdujQd6ed5A7Ug" association="_iLiKsX5fEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iLixwX5fEdujQd6ed5A7Ug" value="1"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iLixwn5fEdujQd6ed5A7Ug"/>
|
||||
</ownedEnd>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Interface" xmi:id="_iLjY0H5fEdujQd6ed5A7Ug" name="GOMLink">
|
||||
<generalization xmi:id="_iLkm8H5fEdujQd6ed5A7Ug" general="_r-kngH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Association" xmi:id="_iLr7sH5fEdujQd6ed5A7Ug" memberEnd="_iJ2vsX5fEdujQd6ed5A7Ug _iLr7sX5fEdujQd6ed5A7Ug">
|
||||
<name xsi:nil="true"/>
|
||||
<ownedEnd xmi:id="_iLr7sX5fEdujQd6ed5A7Ug" name="" type="_r-RFgH5eEdujQd6ed5A7Ug" association="_iLr7sH5fEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iLr7sn5fEdujQd6ed5A7Ug" value="1"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iLr7s35fEdujQd6ed5A7Ug"/>
|
||||
</ownedEnd>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Class" xmi:id="_iLtw4H5fEdujQd6ed5A7Ug" name="GOMTitleImp"/>
|
||||
<packagedElement xmi:type="uml:Class" xmi:id="_iLu_AH5fEdujQd6ed5A7Ug" name="GOMIdImpl" visibility="package"/>
|
||||
<packagedElement xmi:type="uml:Association" xmi:id="_iZnqAH5fEdujQd6ed5A7Ug" memberEnd="_iZZAgH5fEdujQd6ed5A7Ug _iZoREH5fEdujQd6ed5A7Ug">
|
||||
<name xsi:nil="true"/>
|
||||
<ownedEnd xmi:id="_iZoREH5fEdujQd6ed5A7Ug" name="" type="_iHkQsH5fEdujQd6ed5A7Ug" association="_iZnqAH5fEdujQd6ed5A7Ug">
|
||||
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iZoREX5fEdujQd6ed5A7Ug" value="1"/>
|
||||
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iZoREn5fEdujQd6ed5A7Ug"/>
|
||||
</ownedEnd>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Package" xmi:id="_r7dCEX5eEdujQd6ed5A7Ug" name="java.lang">
|
||||
<packagedElement xmi:type="uml:Class" xmi:id="_r7dpIX5eEdujQd6ed5A7Ug" name="String" isLeaf="true"/>
|
||||
<packagedElement xmi:type="uml:Class" xmi:id="_r89d8H5eEdujQd6ed5A7Ug" name="RuntimeException">
|
||||
<generalization xmi:id="_sEm-EH5eEdujQd6ed5A7Ug" general="_sEmXAH5eEdujQd6ed5A7Ug"/>
|
||||
<ownedAttribute xmi:id="_sGP80H5eEdujQd6ed5A7Ug" name="serialVersionUID" visibility="package" isLeaf="true" isStatic="true" isReadOnly="true">
|
||||
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#long"/>
|
||||
</ownedAttribute>
|
||||
<ownedOperation xmi:id="_sGRyAH5eEdujQd6ed5A7Ug" name="RuntimeException" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_sGyvYH5eEdujQd6ed5A7Ug" name="arg0" type="_r7dpIX5eEdujQd6ed5A7Ug"/>
|
||||
<ownedParameter xmi:id="_sGyvYX5eEdujQd6ed5A7Ug" name="arg1" type="_r9ELoH5eEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_sGzWcH5eEdujQd6ed5A7Ug" name="RuntimeException" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_sGz9gH5eEdujQd6ed5A7Ug" name="arg0" type="_r7dpIX5eEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_sGz9gX5eEdujQd6ed5A7Ug" name="RuntimeException" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_sG0kkH5eEdujQd6ed5A7Ug" name="arg0" type="_r9ELoH5eEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_sG0kkX5eEdujQd6ed5A7Ug" name="RuntimeException" visibility="public" concurrency="concurrent"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Class" xmi:id="_r9ELoH5eEdujQd6ed5A7Ug" name="Throwable"/>
|
||||
<packagedElement xmi:type="uml:Class" xmi:id="_sBHlMH5eEdujQd6ed5A7Ug" name="System" isLeaf="true"/>
|
||||
<packagedElement xmi:type="uml:Class" xmi:id="_sEmXAH5eEdujQd6ed5A7Ug" name="Exception"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Package" xmi:id="_sAlZsH5eEdujQd6ed5A7Ug" name="java.util">
|
||||
<packagedElement xmi:type="uml:Class" xmi:id="_sAmAwH5eEdujQd6ed5A7Ug" name="Stack"/>
|
||||
<packagedElement xmi:type="uml:Interface" xmi:id="_sAnO4H5eEdujQd6ed5A7Ug" name="List" isAbstract="true"/>
|
||||
<packagedElement xmi:type="uml:Class" xmi:id="_sBG-IH5eEdujQd6ed5A7Ug" name="LinkedList"/>
|
||||
<packagedElement xmi:type="uml:Interface" xmi:id="_iKUCsH5fEdujQd6ed5A7Ug" name="Iterator" isAbstract="true"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_l_ahcH5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l83jwH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l85Y8H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_mVVuIH5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l85Y8H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_mVYKYH5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l85Y8H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_mVZ_kn5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l85Y8H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_mVcb0H5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l85Y8H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_mVpQIH5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l83jwH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_mVrsYH5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l83jwH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_mVthkX5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l83jwH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_mVv90X5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_mVmz4H5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l83jwH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_mV6V4H5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l83jwH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_mV8yIX5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l83jwH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_mV_OYH5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_mWBDkX5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_mWDf0H5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_mVmz4H5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_mWHxQH5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l83jwH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l8xdIH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_mWKNgn5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l8xdIH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_mWMCsX5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l8xdIH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_mWOe8X5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l8xdIH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_mWQ7MX5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l8xdIH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_mWXo4H5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l81ukH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_mWZeEn5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l81ukH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_mWb6UX5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l81ukH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_r7sSoH5eEdujQd6ed5A7Ug" supplier="_r7dpIX5eEdujQd6ed5A7Ug" client="_r7Q00H5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_r7uu4X5eEdujQd6ed5A7Ug" supplier="_r7h6kH5eEdujQd6ed5A7Ug" client="_r7Q00H5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_r72DoH5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_r8qjAH5eEdujQd6ed5A7Ug" supplier="_r7dpIX5eEdujQd6ed5A7Ug" client="_r8CQ4H5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_r8x3wH5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_r9GA0H5eEdujQd6ed5A7Ug" supplier="_r9ELoH5eEdujQd6ed5A7Ug" client="_r8824H5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_r9IdEn5eEdujQd6ed5A7Ug" supplier="_r7dpIX5eEdujQd6ed5A7Ug" client="_r8824H5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_r9Px0H5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_r9lJAH5eEdujQd6ed5A7Ug" supplier="_r7dpIX5eEdujQd6ed5A7Ug" client="_r9WfgH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_r9nlQn5eEdujQd6ed5A7Ug" supplier="_r7h6kH5eEdujQd6ed5A7Ug" client="_r9WfgH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_r9wIIH5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_r-RskH5eEdujQd6ed5A7Ug" supplier="_r-P3YH5eEdujQd6ed5A7Ug" client="_r-JwwH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_r-Thwn5eEdujQd6ed5A7Ug" supplier="_r-RFgH5eEdujQd6ed5A7Ug" client="_r-JwwH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_r-cEoH5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_r-l1oH5eEdujQd6ed5A7Ug" supplier="_r-kngH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_r-tKYH5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_r_vsMH5eEdujQd6ed5A7Ug" supplier="_r7dpIX5eEdujQd6ed5A7Ug" client="_r-yp8H5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_r_xhYn5eEdujQd6ed5A7Ug" supplier="_r_MSkH5eEdujQd6ed5A7Ug" client="_r-yp8H5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_r_z9on5eEdujQd6ed5A7Ug" supplier="_r-kngH5eEdujQd6ed5A7Ug" client="_r-yp8H5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_r_1y0n5eEdujQd6ed5A7Ug" supplier="_r_OHwH5eEdujQd6ed5A7Ug" client="_r-yp8H5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_r_3oAX5eEdujQd6ed5A7Ug" supplier="_r_OHwH5eEdujQd6ed5A7Ug" client="_r-yp8H5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sAAK4H5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sBMdsX5eEdujQd6ed5A7Ug" supplier="_sAmAwH5eEdujQd6ed5A7Ug" client="_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sBOS4X5eEdujQd6ed5A7Ug" supplier="_sAmAwH5eEdujQd6ed5A7Ug" client="_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sBQIEn5eEdujQd6ed5A7Ug" supplier="_sAodAH5eEdujQd6ed5A7Ug" client="_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sBSkUX5eEdujQd6ed5A7Ug" supplier="_r_OHwH5eEdujQd6ed5A7Ug" client="_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sBUZgX5eEdujQd6ed5A7Ug" supplier="_r_OHwH5eEdujQd6ed5A7Ug" client="_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sBWOsn5eEdujQd6ed5A7Ug" supplier="_r-P3YH5eEdujQd6ed5A7Ug" client="_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sBYq8n5eEdujQd6ed5A7Ug" supplier="_r7h6kH5eEdujQd6ed5A7Ug" client="_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sBagIn5eEdujQd6ed5A7Ug" supplier="_sBG-IH5eEdujQd6ed5A7Ug" client="_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sBcVUX5eEdujQd6ed5A7Ug" supplier="_sBHlMH5eEdujQd6ed5A7Ug" client="_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sBexkn5eEdujQd6ed5A7Ug" supplier="_r-yp8H5eEdujQd6ed5A7Ug" client="_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sBhN0H5eEdujQd6ed5A7Ug" supplier="_r7Q00H5eEdujQd6ed5A7Ug" client="_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sBjDAn5eEdujQd6ed5A7Ug" supplier="_sA-bQH5eEdujQd6ed5A7Ug" client="_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sBmGUH5eEdujQd6ed5A7Ug" supplier="_r-JwwH5eEdujQd6ed5A7Ug" client="_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sBn7gn5eEdujQd6ed5A7Ug" supplier="_r-JwwH5eEdujQd6ed5A7Ug" client="_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sBqXwX5eEdujQd6ed5A7Ug" supplier="_r8CQ4H5eEdujQd6ed5A7Ug" client="_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sBsM8X5eEdujQd6ed5A7Ug" supplier="_r8CQ4H5eEdujQd6ed5A7Ug" client="_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sBuCIn5eEdujQd6ed5A7Ug" supplier="_r-0fIH5eEdujQd6ed5A7Ug" client="_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sB6PYH5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sHONMH5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l83jwH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sH6wwH5eEdujQd6ed5A7Ug" supplier="_r7dpIX5eEdujQd6ed5A7Ug" client="_r-0fIH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sH9NAn5eEdujQd6ed5A7Ug" supplier="_r_MSkH5eEdujQd6ed5A7Ug" client="_r-0fIH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sH_CMn5eEdujQd6ed5A7Ug" supplier="_r-kngH5eEdujQd6ed5A7Ug" client="_r-0fIH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sIA3Yn5eEdujQd6ed5A7Ug" supplier="_r_OHwH5eEdujQd6ed5A7Ug" client="_r-0fIH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sIDToX5eEdujQd6ed5A7Ug" supplier="_r_OHwH5eEdujQd6ed5A7Ug" client="_r-0fIH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sILPcH5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l83jwH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_9V9KEH5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_9fSFMH5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_-avn4H5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iKuSYH5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l83jwH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iK21QH5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l83jwH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iLCbcH5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l83jwH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iLfucH5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l83jwH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iLpfcH5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l83jwH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iL0ekH5fEdujQd6ed5A7Ug" supplier="_iLu_AH5fEdujQd6ed5A7Ug" client="_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iL2TwX5fEdujQd6ed5A7Ug" supplier="_iKVQ0H5fEdujQd6ed5A7Ug" client="_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iL4wAH5fEdujQd6ed5A7Ug" supplier="_iJ2vsH5fEdujQd6ed5A7Ug" client="_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iL6lMn5fEdujQd6ed5A7Ug" supplier="_iJx3MX5fEdujQd6ed5A7Ug" client="_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iL8aYn5fEdujQd6ed5A7Ug" supplier="_sBG-IH5eEdujQd6ed5A7Ug" client="_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iL-2oX5fEdujQd6ed5A7Ug" supplier="_iJ06gH5fEdujQd6ed5A7Ug" client="_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMAr0n5fEdujQd6ed5A7Ug" supplier="_r7h6kH5eEdujQd6ed5A7Ug" client="_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMChAn5fEdujQd6ed5A7Ug" supplier="_iLjY0H5fEdujQd6ed5A7Ug" client="_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMEWMn5fEdujQd6ed5A7Ug" supplier="_iJ4k4H5fEdujQd6ed5A7Ug" client="_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMGycX5fEdujQd6ed5A7Ug" supplier="_sAnO4H5eEdujQd6ed5A7Ug" client="_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMInon5fEdujQd6ed5A7Ug" supplier="_iJxQIH5fEdujQd6ed5A7Ug" client="_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMKc0n5fEdujQd6ed5A7Ug" supplier="_iJ1hkH5fEdujQd6ed5A7Ug" client="_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMM5En5fEdujQd6ed5A7Ug" supplier="_iKeawH5fEdujQd6ed5A7Ug" client="_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMOuQn5fEdujQd6ed5A7Ug" supplier="_sA-bQH5eEdujQd6ed5A7Ug" client="_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMQjcn5fEdujQd6ed5A7Ug" supplier="_r_OHwH5eEdujQd6ed5A7Ug" client="_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMSYoX5fEdujQd6ed5A7Ug" supplier="_r_OHwH5eEdujQd6ed5A7Ug" client="_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMU04X5fEdujQd6ed5A7Ug" supplier="_iKC88X5fEdujQd6ed5A7Ug" client="_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMWqEn5fEdujQd6ed5A7Ug" supplier="_iKUCsH5fEdujQd6ed5A7Ug" client="_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMYfQn5fEdujQd6ed5A7Ug" supplier="_iLtw4H5fEdujQd6ed5A7Ug" client="_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMa7gH5fEdujQd6ed5A7Ug" supplier="_r7Q00H5eEdujQd6ed5A7Ug" client="_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMcwsn5fEdujQd6ed5A7Ug" supplier="_r_MSkH5eEdujQd6ed5A7Ug" client="_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMel4n5fEdujQd6ed5A7Ug" supplier="_iJ5L8X5fEdujQd6ed5A7Ug" client="_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMgbEn5fEdujQd6ed5A7Ug" supplier="_r9XtoH5eEdujQd6ed5A7Ug" client="_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMi3Un5fEdujQd6ed5A7Ug" supplier="_iJ390H5fEdujQd6ed5A7Ug" client="_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMksgn5fEdujQd6ed5A7Ug" supplier="_r8CQ4H5eEdujQd6ed5A7Ug" client="_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMmhsn5fEdujQd6ed5A7Ug" supplier="_r7dpIX5eEdujQd6ed5A7Ug" client="_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMo98X5fEdujQd6ed5A7Ug" supplier="_r7dpIX5eEdujQd6ed5A7Ug" client="_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMqzIn5fEdujQd6ed5A7Ug" supplier="_r9WfgH5eEdujQd6ed5A7Ug" client="_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMsoUX5fEdujQd6ed5A7Ug" supplier="_r9WfgH5eEdujQd6ed5A7Ug" client="_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMudgn5fEdujQd6ed5A7Ug" supplier="_r-kngH5eEdujQd6ed5A7Ug" client="_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iM1LMH5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iZqtUH5fEdujQd6ed5A7Ug" supplier="_iKUCsH5fEdujQd6ed5A7Ug" client="_iHkQsH5fEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iZtJkn5fEdujQd6ed5A7Ug" supplier="_r7dpIX5eEdujQd6ed5A7Ug" client="_iHkQsH5fEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iZu-wn5fEdujQd6ed5A7Ug" supplier="_r7dpIX5eEdujQd6ed5A7Ug" client="_iHkQsH5fEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iZxbAX5fEdujQd6ed5A7Ug" supplier="_sAnO4H5eEdujQd6ed5A7Ug" client="_iHkQsH5fEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iZzQMn5fEdujQd6ed5A7Ug" supplier="_r7h6kH5eEdujQd6ed5A7Ug" client="_iHkQsH5fEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iZ1FYn5fEdujQd6ed5A7Ug" supplier="_r-kngH5eEdujQd6ed5A7Ug" client="_iHkQsH5fEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iZ3hoX5fEdujQd6ed5A7Ug" supplier="_sBG-IH5eEdujQd6ed5A7Ug" client="_iHkQsH5fEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iZ5W0X5fEdujQd6ed5A7Ug" supplier="_r7Q00H5eEdujQd6ed5A7Ug" client="_iHkQsH5fEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iZ7MAn5fEdujQd6ed5A7Ug" supplier="_r9XtoH5eEdujQd6ed5A7Ug" client="_iHkQsH5fEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iaDH0H5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_ibYkkH5fEdujQd6ed5A7Ug" supplier="_iKVQ0H5fEdujQd6ed5A7Ug" client="_r-P3YH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_ibaZwn5fEdujQd6ed5A7Ug" supplier="_iJx3MX5fEdujQd6ed5A7Ug" client="_r-P3YH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_ibc2AH5fEdujQd6ed5A7Ug" supplier="_iJ390H5fEdujQd6ed5A7Ug" client="_r-P3YH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iberMn5fEdujQd6ed5A7Ug" supplier="_sAnO4H5eEdujQd6ed5A7Ug" client="_r-P3YH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_ibggYn5fEdujQd6ed5A7Ug" supplier="_iKeawH5fEdujQd6ed5A7Ug" client="_r-P3YH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_ibi8oX5fEdujQd6ed5A7Ug" supplier="_iJ1hkH5fEdujQd6ed5A7Ug" client="_r-P3YH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_ibkx0n5fEdujQd6ed5A7Ug" supplier="_iJxQIH5fEdujQd6ed5A7Ug" client="_r-P3YH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_ibmnAn5fEdujQd6ed5A7Ug" supplier="_iJ5L8X5fEdujQd6ed5A7Ug" client="_r-P3YH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_ibpDQH5fEdujQd6ed5A7Ug" supplier="_sA-bQH5eEdujQd6ed5A7Ug" client="_r-P3YH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_ibq4cn5fEdujQd6ed5A7Ug" supplier="_iKC88X5fEdujQd6ed5A7Ug" client="_r-P3YH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_ibston5fEdujQd6ed5A7Ug" supplier="_iJ06gH5fEdujQd6ed5A7Ug" client="_r-P3YH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_ibui0n5fEdujQd6ed5A7Ug" supplier="_iJ2vsH5fEdujQd6ed5A7Ug" client="_r-P3YH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_ibw_EX5fEdujQd6ed5A7Ug" supplier="_r8CQ4H5eEdujQd6ed5A7Ug" client="_r-P3YH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iby0Qn5fEdujQd6ed5A7Ug" supplier="_iJ4k4H5fEdujQd6ed5A7Ug" client="_r-P3YH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_ib13kH5fEdujQd6ed5A7Ug" supplier="_r7dpIX5eEdujQd6ed5A7Ug" client="_r-P3YH5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_ib7XIH5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l83jwH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_lnc38H5fEdujQd6ed5A7Ug" supplier="_r_OHwH5eEdujQd6ed5A7Ug" client="_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_lngiUX5fEdujQd6ed5A7Ug" supplier="_sAmAwH5eEdujQd6ed5A7Ug" client="_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_lni-kH5fEdujQd6ed5A7Ug" supplier="_r-yp8H5eEdujQd6ed5A7Ug" client="_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_lnkzwX5fEdujQd6ed5A7Ug" supplier="_r8CQ4H5eEdujQd6ed5A7Ug" client="_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_lnsIgH5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_ln4VwH5fEdujQd6ed5A7Ug" supplier="_r_OHwH5eEdujQd6ed5A7Ug" client="_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_ln8AIX5fEdujQd6ed5A7Ug" supplier="_sAmAwH5eEdujQd6ed5A7Ug" client="_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_ln-cYX5fEdujQd6ed5A7Ug" supplier="_r-yp8H5eEdujQd6ed5A7Ug" client="_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_loA4oH5fEdujQd6ed5A7Ug" supplier="_r8CQ4H5eEdujQd6ed5A7Ug" client="_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_loG_QH5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_9vB78H5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_-K0gEH5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_-nSZoH5fEdujQd6ed5A7Ug" supplier="_r_OHwH5eEdujQd6ed5A7Ug" client="_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_-nUO0X5fEdujQd6ed5A7Ug" supplier="_sAmAwH5eEdujQd6ed5A7Ug" client="_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_-nWrEH5fEdujQd6ed5A7Ug" supplier="_r-yp8H5eEdujQd6ed5A7Ug" client="_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_-nYgQX5fEdujQd6ed5A7Ug" supplier="_r8CQ4H5eEdujQd6ed5A7Ug" client="_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_-nfN8H5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_BYTvwH5gEdujQd6ed5A7Ug" supplier="_r_OHwH5eEdujQd6ed5A7Ug" client="_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_BYWMAX5gEdujQd6ed5A7Ug" supplier="_sAmAwH5eEdujQd6ed5A7Ug" client="_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_BYYBMX5gEdujQd6ed5A7Ug" supplier="_r-yp8H5eEdujQd6ed5A7Ug" client="_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_BYadcH5gEdujQd6ed5A7Ug" supplier="_r8CQ4H5eEdujQd6ed5A7Ug" client="_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_BYhLIH5gEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
</uml:Model>
|
|
@ -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);
|
||||
}
|
|
@ -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><!ENTITY lt "&#38;#60;"></li>
|
||||
* <li><!ENTITY gt "&#62;"></li>
|
||||
* <li><!ENTITY amp "&#38;#38;"></li>
|
||||
* <li><!ENTITY apos "&#39;"></li>
|
||||
* <li><!ENTITY quot "&#34;"></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("<");
|
||||
break;
|
||||
case '>':
|
||||
builder.append(">");
|
||||
break;
|
||||
case '"':
|
||||
builder.append(""");
|
||||
break;
|
||||
case '\'':
|
||||
builder.append("'");
|
||||
break;
|
||||
case '&':
|
||||
builder.append("&");
|
||||
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 \"&#60;\"><!ENTITY gt \">\"><!ENTITY amp
|
||||
// \"&#38;\"><!ENTITY apos \"'\"><!ENTITY quot \""\">");
|
||||
// System.out.println(escapeXMLCharacter(s));
|
||||
//
|
||||
System.out.println(isAtomMediaType("t/h"));
|
||||
}
|
||||
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
}
|
|
@ -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<-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<-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<-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<-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<-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<-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<-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<-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<-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>
|
|
@ -0,0 +1,610 @@
|
|||
<?xml version="1.0" encoding="ASCII"?>
|
||||
<uml:Model xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:uml="http://www.eclipse.org/uml2/2.0.0/UML" xmi:id="_BOQb4H5gEdujQd6ed5A7Ug" name="gom">
|
||||
<packagedElement xmi:type="uml:Package" xmi:id="_l6OfcH5eEdujQd6ed5A7Ug" name="."/>
|
||||
<packagedElement xmi:type="uml:Package" xmi:id="_r7dCEX5eEdujQd6ed5A7Ug" name="java.lang">
|
||||
<packagedElement xmi:type="uml:Class" xmi:id="_r7dpIX5eEdujQd6ed5A7Ug" name="String" isLeaf="true"/>
|
||||
<packagedElement xmi:type="uml:Class" xmi:id="_r89d8H5eEdujQd6ed5A7Ug" name="RuntimeException">
|
||||
<generalization xmi:id="_sEm-EH5eEdujQd6ed5A7Ug" general="_sEmXAH5eEdujQd6ed5A7Ug"/>
|
||||
<ownedAttribute xmi:id="_sGP80H5eEdujQd6ed5A7Ug" name="serialVersionUID" visibility="package" isLeaf="true" isStatic="true" isReadOnly="true">
|
||||
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#long"/>
|
||||
</ownedAttribute>
|
||||
<ownedOperation xmi:id="_sGRyAH5eEdujQd6ed5A7Ug" name="RuntimeException" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_sGyvYH5eEdujQd6ed5A7Ug" name="arg0" type="_r7dpIX5eEdujQd6ed5A7Ug"/>
|
||||
<ownedParameter xmi:id="_sGyvYX5eEdujQd6ed5A7Ug" name="arg1" type="_r9ELoH5eEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_sGzWcH5eEdujQd6ed5A7Ug" name="RuntimeException" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_sGz9gH5eEdujQd6ed5A7Ug" name="arg0" type="_r7dpIX5eEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_sGz9gX5eEdujQd6ed5A7Ug" name="RuntimeException" visibility="public" concurrency="concurrent">
|
||||
<ownedParameter xmi:id="_sG0kkH5eEdujQd6ed5A7Ug" name="arg0" type="_r9ELoH5eEdujQd6ed5A7Ug"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_sG0kkX5eEdujQd6ed5A7Ug" name="RuntimeException" visibility="public" concurrency="concurrent"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Class" xmi:id="_r9ELoH5eEdujQd6ed5A7Ug" name="Throwable"/>
|
||||
<packagedElement xmi:type="uml:Class" xmi:id="_sBHlMH5eEdujQd6ed5A7Ug" name="System" isLeaf="true"/>
|
||||
<packagedElement xmi:type="uml:Class" xmi:id="_sEmXAH5eEdujQd6ed5A7Ug" name="Exception"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Package" xmi:id="_sAlZsH5eEdujQd6ed5A7Ug" name="java.util">
|
||||
<packagedElement xmi:type="uml:Class" xmi:id="_sAmAwH5eEdujQd6ed5A7Ug" name="Stack"/>
|
||||
<packagedElement xmi:type="uml:Interface" xmi:id="_sAnO4H5eEdujQd6ed5A7Ug" name="List" isAbstract="true"/>
|
||||
<packagedElement xmi:type="uml:Class" xmi:id="_sBG-IH5eEdujQd6ed5A7Ug" name="LinkedList"/>
|
||||
<packagedElement xmi:type="uml:Interface" xmi:id="_iKUCsH5fEdujQd6ed5A7Ug" name="Iterator" isAbstract="true"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_l_ahcH5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l83jwH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l85Y8H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_mVVuIH5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l85Y8H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_mVYKYH5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l85Y8H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_mVZ_kn5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l85Y8H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_mVcb0H5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l85Y8H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_mVpQIH5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l83jwH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_mVrsYH5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l83jwH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_mVthkX5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l83jwH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_mVv90X5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_mVmz4H5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l83jwH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_mV6V4H5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l83jwH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_mV8yIX5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l83jwH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_mV_OYH5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_mWBDkX5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_mWDf0H5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_mVmz4H5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_mWHxQH5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l83jwH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l8xdIH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_mWKNgn5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l8xdIH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_mWMCsX5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l8xdIH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_mWOe8X5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l8xdIH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_mWQ7MX5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l8xdIH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_mWXo4H5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l81ukH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_mWZeEn5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l81ukH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_mWb6UX5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l81ukH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_r7sSoH5eEdujQd6ed5A7Ug" supplier="_r7dpIX5eEdujQd6ed5A7Ug">
|
||||
<client xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_r7Q00H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_r7uu4X5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r7h6kH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_r7Q00H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_r72DoH5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_r8qjAH5eEdujQd6ed5A7Ug" supplier="_r7dpIX5eEdujQd6ed5A7Ug">
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r8CQ4H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_r8x3wH5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_r9GA0H5eEdujQd6ed5A7Ug" supplier="_r9ELoH5eEdujQd6ed5A7Ug">
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r8824H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_r9IdEn5eEdujQd6ed5A7Ug" supplier="_r7dpIX5eEdujQd6ed5A7Ug">
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r8824H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_r9Px0H5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_r9lJAH5eEdujQd6ed5A7Ug" supplier="_r7dpIX5eEdujQd6ed5A7Ug">
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r9WfgH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_r9nlQn5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r7h6kH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r9WfgH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_r9wIIH5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_r-RskH5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_r-P3YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-JwwH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_r-Thwn5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-JwwH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_r-cEoH5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_r-l1oH5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_r-kngH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_r-tKYH5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_r_vsMH5eEdujQd6ed5A7Ug" supplier="_r7dpIX5eEdujQd6ed5A7Ug">
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-yp8H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_r_xhYn5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_r_MSkH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-yp8H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_r_z9on5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_r-kngH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-yp8H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_r_1y0n5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r_OHwH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-yp8H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_r_3oAX5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r_OHwH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-yp8H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sAAK4H5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sBMdsX5eEdujQd6ed5A7Ug" supplier="_sAmAwH5eEdujQd6ed5A7Ug">
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sBOS4X5eEdujQd6ed5A7Ug" supplier="_sAmAwH5eEdujQd6ed5A7Ug">
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sBQIEn5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_sAodAH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sBSkUX5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r_OHwH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sBUZgX5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r_OHwH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sBWOsn5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_r-P3YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sBYq8n5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r7h6kH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sBagIn5eEdujQd6ed5A7Ug" supplier="_sBG-IH5eEdujQd6ed5A7Ug">
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sBcVUX5eEdujQd6ed5A7Ug" supplier="_sBHlMH5eEdujQd6ed5A7Ug">
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sBexkn5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-yp8H5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sBhN0H5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_r7Q00H5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sBjDAn5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_sA-bQH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sBmGUH5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-JwwH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sBn7gn5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-JwwH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sBqXwX5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r8CQ4H5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sBsM8X5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r8CQ4H5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sBuCIn5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_r-0fIH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sB6PYH5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sHONMH5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l83jwH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sH6wwH5eEdujQd6ed5A7Ug" supplier="_r7dpIX5eEdujQd6ed5A7Ug">
|
||||
<client xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_r-0fIH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sH9NAn5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_r_MSkH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_r-0fIH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sH_CMn5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_r-kngH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_r-0fIH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sIA3Yn5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r_OHwH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_r-0fIH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sIDToX5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r_OHwH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_r-0fIH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_sILPcH5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l83jwH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_9V9KEH5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_9fSFMH5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_-avn4H5eEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iKuSYH5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l83jwH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iK21QH5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l83jwH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iLCbcH5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l83jwH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iLfucH5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l83jwH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iLpfcH5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l83jwH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iL0ekH5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_iLu_AH5fEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iL2TwX5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_iKVQ0H5fEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iL4wAH5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_iJ2vsH5fEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iL6lMn5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_iJx3MX5fEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iL8aYn5fEdujQd6ed5A7Ug" supplier="_sBG-IH5eEdujQd6ed5A7Ug">
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iL-2oX5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_iJ06gH5fEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMAr0n5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r7h6kH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMChAn5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_iLjY0H5fEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMEWMn5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_iJ4k4H5fEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMGycX5fEdujQd6ed5A7Ug" supplier="_sAnO4H5eEdujQd6ed5A7Ug">
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMInon5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_iJxQIH5fEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMKc0n5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_iJ1hkH5fEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMM5En5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_iKeawH5fEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMOuQn5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_sA-bQH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMQjcn5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r_OHwH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMSYoX5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r_OHwH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMU04X5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_iKC88X5fEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMWqEn5fEdujQd6ed5A7Ug" supplier="_iKUCsH5fEdujQd6ed5A7Ug">
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMYfQn5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_iLtw4H5fEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMa7gH5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_r7Q00H5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMcwsn5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_r_MSkH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMel4n5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_iJ5L8X5fEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMgbEn5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_r9XtoH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMi3Un5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_iJ390H5fEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMksgn5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r8CQ4H5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMmhsn5fEdujQd6ed5A7Ug" supplier="_r7dpIX5eEdujQd6ed5A7Ug">
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMo98X5fEdujQd6ed5A7Ug" supplier="_r7dpIX5eEdujQd6ed5A7Ug">
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMqzIn5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r9WfgH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMsoUX5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r9WfgH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iMudgn5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_r-kngH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-RFgH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iM1LMH5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iZqtUH5fEdujQd6ed5A7Ug" supplier="_iKUCsH5fEdujQd6ed5A7Ug">
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_iHkQsH5fEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iZtJkn5fEdujQd6ed5A7Ug" supplier="_r7dpIX5eEdujQd6ed5A7Ug">
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_iHkQsH5fEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iZu-wn5fEdujQd6ed5A7Ug" supplier="_r7dpIX5eEdujQd6ed5A7Ug">
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_iHkQsH5fEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iZxbAX5fEdujQd6ed5A7Ug" supplier="_sAnO4H5eEdujQd6ed5A7Ug">
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_iHkQsH5fEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iZzQMn5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r7h6kH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_iHkQsH5fEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iZ1FYn5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_r-kngH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_iHkQsH5fEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iZ3hoX5fEdujQd6ed5A7Ug" supplier="_sBG-IH5eEdujQd6ed5A7Ug">
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_iHkQsH5fEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iZ5W0X5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_r7Q00H5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_iHkQsH5fEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iZ7MAn5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_r9XtoH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_iHkQsH5fEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iaDH0H5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_ibYkkH5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_iKVQ0H5fEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_r-P3YH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_ibaZwn5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_iJx3MX5fEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_r-P3YH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_ibc2AH5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_iJ390H5fEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_r-P3YH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iberMn5fEdujQd6ed5A7Ug" supplier="_sAnO4H5eEdujQd6ed5A7Ug">
|
||||
<client xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_r-P3YH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_ibggYn5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_iKeawH5fEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_r-P3YH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_ibi8oX5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_iJ1hkH5fEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_r-P3YH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_ibkx0n5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_iJxQIH5fEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_r-P3YH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_ibmnAn5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_iJ5L8X5fEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_r-P3YH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_ibpDQH5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_sA-bQH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_r-P3YH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_ibq4cn5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_iKC88X5fEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_r-P3YH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_ibston5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_iJ06gH5fEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_r-P3YH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_ibui0n5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_iJ2vsH5fEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_r-P3YH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_ibw_EX5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r8CQ4H5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_r-P3YH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_iby0Qn5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_iJ4k4H5fEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_r-P3YH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_ib13kH5fEdujQd6ed5A7Ug" supplier="_r7dpIX5eEdujQd6ed5A7Ug">
|
||||
<client xmi:type="uml:Interface" href="platform:/resource/GdataUml/.repository.uml2#_r-P3YH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_ib7XIH5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l83jwH5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_lnc38H5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r_OHwH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_lngiUX5fEdujQd6ed5A7Ug" supplier="_sAmAwH5eEdujQd6ed5A7Ug">
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_lni-kH5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-yp8H5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_lnkzwX5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r8CQ4H5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_lnsIgH5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_ln4VwH5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r_OHwH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_ln8AIX5fEdujQd6ed5A7Ug" supplier="_sAmAwH5eEdujQd6ed5A7Ug">
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_ln-cYX5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-yp8H5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_loA4oH5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r8CQ4H5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_loG_QH5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_9vB78H5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_-K0gEH5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_-nSZoH5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r_OHwH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_-nUO0X5fEdujQd6ed5A7Ug" supplier="_sAmAwH5eEdujQd6ed5A7Ug">
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_-nWrEH5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r-yp8H5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_-nYgQX5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_r8CQ4H5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Class" href="platform:/resource/GdataUml/.repository.uml2#_sAJ74H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Usage" xmi:id="_-nfN8H5fEdujQd6ed5A7Ug">
|
||||
<supplier xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l_Z6YH5eEdujQd6ed5A7Ug"/>
|
||||
<client xmi:type="uml:Package" href="platform:/resource/GdataUml/.repository.uml2#_l84K0H5eEdujQd6ed5A7Ug"/>
|
||||
</packagedElement>
|
||||
</uml:Model>
|
|
@ -0,0 +1,199 @@
|
|||
/**
|
||||
* 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.writer;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import org.apache.lucene.gdata.gom.GOMAttribute;
|
||||
import org.apache.lucene.gdata.gom.GOMNamespace;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public interface GOMOutputWriter {
|
||||
|
||||
/**
|
||||
* Writes a simple element with full namespace
|
||||
*
|
||||
* @param aName -
|
||||
* element QName
|
||||
* @param aList -
|
||||
* attribute list
|
||||
* @param aValue -
|
||||
* character value
|
||||
* @throws XMLStreamException -
|
||||
* if a write exception occurs
|
||||
*/
|
||||
public abstract void writeSimpleXMLElement(QName aName,
|
||||
List<GOMAttribute> aList, String aValue) throws XMLStreamException;
|
||||
|
||||
/**
|
||||
* Writes a simple element with full namespace
|
||||
*
|
||||
* @param aName -
|
||||
* element QName
|
||||
* @param aAttribute -
|
||||
* attribute
|
||||
* @param aValue -
|
||||
* character value
|
||||
* @throws XMLStreamException -
|
||||
* if a write exception occurs
|
||||
*/
|
||||
public abstract void writeSimpleXMLElement(QName aName, String aValue,
|
||||
GOMAttribute aAttribute) throws XMLStreamException;
|
||||
|
||||
/**
|
||||
* Writes a simple element with full namespace
|
||||
*
|
||||
* @param aName -
|
||||
* the local name of the element
|
||||
* @param aAttribute -
|
||||
* attribute
|
||||
* @param aValue -
|
||||
* character value
|
||||
* @throws XMLStreamException -
|
||||
* if a write exception occurs
|
||||
*/
|
||||
public abstract void writeSimpleXMLElement(String aName, String aValue,
|
||||
GOMAttribute aAttribute) throws XMLStreamException;
|
||||
|
||||
/**
|
||||
* Writes a simple element with default namespace
|
||||
*
|
||||
* @param aName -
|
||||
* elements name
|
||||
* @param aList -
|
||||
* attribute list
|
||||
* @param aValue -
|
||||
* character value
|
||||
* @throws XMLStreamException -
|
||||
* if a write exception occurs
|
||||
*/
|
||||
public abstract void writeSimpleXMLElement(String aName,
|
||||
List<GOMAttribute> aList, String aValue) throws XMLStreamException;
|
||||
|
||||
/**
|
||||
* writes a attribute with the attribute namespace Uri
|
||||
*
|
||||
* @param attribute -
|
||||
* the attribute
|
||||
* @throws XMLStreamException -
|
||||
* if a write exception occurs
|
||||
*/
|
||||
public abstract void writeAttribute(GOMAttribute attribute)
|
||||
throws XMLStreamException;
|
||||
|
||||
/**
|
||||
* @param aName
|
||||
* @param aList
|
||||
* @throws XMLStreamException
|
||||
*/
|
||||
public abstract void writeStartElement(String aName,
|
||||
List<GOMAttribute> aList) throws XMLStreamException;
|
||||
|
||||
/**
|
||||
* @param aName
|
||||
* @param aAttribute
|
||||
* @throws XMLStreamException
|
||||
*/
|
||||
public abstract void writeStartElement(String aName, GOMAttribute aAttribute)
|
||||
throws XMLStreamException;
|
||||
|
||||
/**
|
||||
* @param aName
|
||||
* @throws XMLStreamException
|
||||
*/
|
||||
public abstract void writeStartElement(String aName)
|
||||
throws XMLStreamException;
|
||||
|
||||
/**
|
||||
* @param aName
|
||||
* @param aList
|
||||
* @throws XMLStreamException
|
||||
*/
|
||||
public abstract void writeStartElement(QName aName, List<GOMAttribute> aList)
|
||||
throws XMLStreamException;
|
||||
|
||||
/**
|
||||
* @throws XMLStreamException
|
||||
*/
|
||||
public abstract void writeEndElement() throws XMLStreamException;
|
||||
|
||||
/**
|
||||
* @param aContent
|
||||
* @throws XMLStreamException
|
||||
*/
|
||||
public abstract void writeContent(String aContent)
|
||||
throws XMLStreamException;
|
||||
|
||||
/**
|
||||
* @param aContent
|
||||
* @throws XMLStreamException
|
||||
*/
|
||||
public abstract void writeContentUnescaped(String aContent)
|
||||
throws XMLStreamException;
|
||||
|
||||
/**
|
||||
* @param aNameSpace
|
||||
* @throws XMLStreamException
|
||||
*/
|
||||
public abstract void writeDefaultNamespace(GOMNamespace aNameSpace)
|
||||
throws XMLStreamException;
|
||||
|
||||
/**
|
||||
* @param aNameSpace
|
||||
* @throws XMLStreamException
|
||||
*/
|
||||
public abstract void writeNamespace(GOMNamespace aNameSpace)
|
||||
throws XMLStreamException;
|
||||
|
||||
/**
|
||||
* @param aString
|
||||
* @param aString2
|
||||
* @throws XMLStreamException
|
||||
*/
|
||||
public abstract void writeStartDocument(String aString, String aString2)
|
||||
throws XMLStreamException;
|
||||
|
||||
/**
|
||||
* Writes a end element tag according to the start element tag
|
||||
*
|
||||
* @throws XMLStreamException -
|
||||
* if no start tag has been written or the element stack points
|
||||
* to a different element
|
||||
*/
|
||||
public abstract void writeEndDocument() throws XMLStreamException;
|
||||
|
||||
/**
|
||||
* Flush the GOMWriter
|
||||
*
|
||||
* @throws XMLStreamException
|
||||
*/
|
||||
public abstract void flush() throws XMLStreamException;
|
||||
|
||||
/**
|
||||
* Closes the GOM Writer
|
||||
*
|
||||
* @throws XMLStreamException
|
||||
*/
|
||||
public abstract void close() throws XMLStreamException;
|
||||
|
||||
}
|
|
@ -0,0 +1,302 @@
|
|||
/**
|
||||
* 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.writer;
|
||||
|
||||
import java.io.OutputStream;
|
||||
import java.io.OutputStreamWriter;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.io.Writer;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
import javax.xml.stream.FactoryConfigurationError;
|
||||
import javax.xml.stream.XMLOutputFactory;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
import javax.xml.stream.XMLStreamWriter;
|
||||
|
||||
import org.apache.lucene.gdata.gom.GOMAttribute;
|
||||
import org.apache.lucene.gdata.gom.GOMNamespace;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public class GOMStaxWriter implements GOMOutputWriter {
|
||||
private static final String STAX_OUTPUTFACTORY_KEY = "org.apache.lucene.gdata.gom.writer.GOMXmlOutputFactory";
|
||||
|
||||
private final Set<GOMNamespace> namespaceSet = new HashSet<GOMNamespace>(16);
|
||||
|
||||
private final XMLStreamWriter writer;
|
||||
static {
|
||||
/*
|
||||
* set the system property to make sure the factory will be found
|
||||
*/
|
||||
String property = System.getProperty(STAX_OUTPUTFACTORY_KEY);
|
||||
if (property == null)
|
||||
System.setProperty(STAX_OUTPUTFACTORY_KEY, STAX_OUTPUTFACTORY_KEY);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param aOutputStream
|
||||
* @param encoding
|
||||
* @throws UnsupportedEncodingException
|
||||
* @throws XMLStreamException
|
||||
* @throws FactoryConfigurationError
|
||||
*/
|
||||
public GOMStaxWriter(final OutputStream aOutputStream, String encoding)
|
||||
throws UnsupportedEncodingException, XMLStreamException,
|
||||
FactoryConfigurationError {
|
||||
this(new OutputStreamWriter(aOutputStream, encoding));
|
||||
}
|
||||
|
||||
/**
|
||||
* Class constructor
|
||||
*
|
||||
*
|
||||
* @param aOutputStream -
|
||||
* a output stream to write the xml stream to.
|
||||
* @throws XMLStreamException -
|
||||
* if a write exception occurs
|
||||
* @throws FactoryConfigurationError -
|
||||
* if XMLOutputFactory throws an exception
|
||||
*
|
||||
*/
|
||||
public GOMStaxWriter(final OutputStream aOutputStream)
|
||||
throws XMLStreamException, FactoryConfigurationError {
|
||||
this(new OutputStreamWriter(aOutputStream));
|
||||
}
|
||||
|
||||
/**
|
||||
* Class constructor
|
||||
*
|
||||
* @param aWriter -
|
||||
* a writer to write the xml stream to.
|
||||
* @throws XMLStreamException -
|
||||
* if a write exception occurs
|
||||
* @throws FactoryConfigurationError -
|
||||
* if XMLOutputFactory throws an exception
|
||||
*/
|
||||
public GOMStaxWriter(final Writer aWriter) throws XMLStreamException,
|
||||
FactoryConfigurationError {
|
||||
if (aWriter == null)
|
||||
throw new IllegalArgumentException("Given writer must not be null");
|
||||
|
||||
this.writer = XMLOutputFactory.newInstance(STAX_OUTPUTFACTORY_KEY,
|
||||
GOMStaxWriter.class.getClassLoader()).createXMLStreamWriter(
|
||||
aWriter);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.writer.GOMOutputWriter#writeSimpleXMLElement(javax.xml.namespace.QName,
|
||||
* java.util.List, java.lang.String)
|
||||
*/
|
||||
public void writeSimpleXMLElement(QName aName, List<GOMAttribute> aList,
|
||||
String aValue) throws XMLStreamException {
|
||||
writeStartElement(aName, aList);
|
||||
writeContent(aValue);
|
||||
this.writer.writeEndElement();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.writer.GOMOutputWriter#writeSimpleXMLElement(javax.xml.namespace.QName,
|
||||
* java.lang.String, org.apache.lucene.gdata.gom.GOMAttribute)
|
||||
*/
|
||||
public void writeSimpleXMLElement(QName aName, String aValue,
|
||||
GOMAttribute aAttribute) throws XMLStreamException {
|
||||
List<GOMAttribute> list = null;
|
||||
if (aAttribute != null) {
|
||||
list = new ArrayList<GOMAttribute>(1);
|
||||
list.add(aAttribute);
|
||||
}
|
||||
writeSimpleXMLElement(aName, list, aValue);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.writer.GOMOutputWriter#writeSimpleXMLElement(java.lang.String,
|
||||
* java.lang.String, org.apache.lucene.gdata.gom.GOMAttribute)
|
||||
*/
|
||||
public void writeSimpleXMLElement(String aName, String aValue,
|
||||
GOMAttribute aAttribute) throws XMLStreamException {
|
||||
List<GOMAttribute> list = null;
|
||||
if (aAttribute != null) {
|
||||
list = new ArrayList<GOMAttribute>(1);
|
||||
list.add(aAttribute);
|
||||
}
|
||||
writeSimpleXMLElement(aName, list, aValue);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.writer.GOMOutputWriter#writeSimpleXMLElement(java.lang.String,
|
||||
* java.util.List, java.lang.String)
|
||||
*/
|
||||
public void writeSimpleXMLElement(String aName, List<GOMAttribute> aList,
|
||||
String aValue) throws XMLStreamException {
|
||||
writeStartElement(aName, aList);
|
||||
writeContent(aValue);
|
||||
this.writer.writeEndElement();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.writer.GOMOutputWriter#writeAttribute(org.apache.lucene.gdata.gom.GOMAttribute)
|
||||
*/
|
||||
public void writeAttribute(GOMAttribute attribute)
|
||||
throws XMLStreamException {
|
||||
if (attribute.hasDefaultNamespace())
|
||||
this.writer.writeAttribute(attribute.getLocalName(), attribute
|
||||
.getTextValue());
|
||||
else
|
||||
this.writer.writeAttribute(attribute.getQname().getPrefix(),
|
||||
attribute.getQname().getNamespaceURI(), attribute
|
||||
.getLocalName(), attribute.getTextValue());
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.writer.GOMOutputWriter#writeStartElement(java.lang.String,
|
||||
* java.util.List)
|
||||
*/
|
||||
public void writeStartElement(String aName, List<GOMAttribute> aList)
|
||||
throws XMLStreamException {
|
||||
this.writer.writeStartElement(aName);
|
||||
if (aList != null)
|
||||
for (GOMAttribute attribute : aList) {
|
||||
writeAttribute(attribute);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.writer.GOMOutputWriter#writeStartElement(java.lang.String,
|
||||
* org.apache.lucene.gdata.gom.GOMAttribute)
|
||||
*/
|
||||
public void writeStartElement(String aName, GOMAttribute aAttribute)
|
||||
throws XMLStreamException {
|
||||
this.writer.writeStartElement(aName);
|
||||
writeAttribute(aAttribute);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.writer.GOMOutputWriter#writeStartElement(java.lang.String)
|
||||
*/
|
||||
public void writeStartElement(String aName) throws XMLStreamException {
|
||||
this.writer.writeStartElement(aName);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.writer.GOMOutputWriter#writeStartElement(javax.xml.namespace.QName,
|
||||
* java.util.List)
|
||||
*/
|
||||
public void writeStartElement(QName aName, List<GOMAttribute> aList)
|
||||
throws XMLStreamException {
|
||||
this.writer.writeStartElement(aName.getPrefix(), aName.getLocalPart(),
|
||||
aName.getNamespaceURI());
|
||||
if (aList != null)
|
||||
for (GOMAttribute attribute : aList) {
|
||||
writeAttribute(attribute);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.writer.GOMOutputWriter#writeEndElement()
|
||||
*/
|
||||
public void writeEndElement() throws XMLStreamException {
|
||||
this.writer.writeEndElement();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.writer.GOMOutputWriter#writeContent(java.lang.String)
|
||||
*/
|
||||
public void writeContent(String aContent) throws XMLStreamException {
|
||||
if (aContent != null) {
|
||||
char[] cs = aContent.toCharArray();
|
||||
this.writer.writeCharacters(cs, 0, cs.length);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.writer.GOMOutputWriter#writeContentUnescaped(java.lang.String)
|
||||
*/
|
||||
public void writeContentUnescaped(String aContent)
|
||||
throws XMLStreamException {
|
||||
if (aContent != null)
|
||||
this.writer.writeCharacters(aContent);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.writer.GOMOutputWriter#writeDefaultNamespace(java.lang.String)
|
||||
*/
|
||||
public void writeDefaultNamespace(String aNsUri) throws XMLStreamException {
|
||||
this.writer.writeDefaultNamespace(aNsUri);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.writer.GOMOutputWriter#writeDefaultNamespace(org.apache.lucene.gdata.gom.GOMNamespace)
|
||||
*/
|
||||
public void writeDefaultNamespace(GOMNamespace aNameSpace)
|
||||
throws XMLStreamException {
|
||||
if (aNameSpace != null)
|
||||
writeDefaultNamespace(aNameSpace.getNamespaceUri());
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.writer.GOMOutputWriter#writeNamespace(org.apache.lucene.gdata.gom.GOMNamespace)
|
||||
*/
|
||||
public void writeNamespace(GOMNamespace aNameSpace)
|
||||
throws XMLStreamException {
|
||||
if (aNameSpace == null)
|
||||
return;
|
||||
if (this.namespaceSet.contains(aNameSpace))
|
||||
return;
|
||||
this.namespaceSet.add(aNameSpace);
|
||||
this.writer.writeNamespace(aNameSpace.getNamespacePrefix(), aNameSpace
|
||||
.getNamespaceUri());
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.writer.GOMOutputWriter#writeStartDocument(java.lang.String,
|
||||
* java.lang.String)
|
||||
*/
|
||||
public void writeStartDocument(String aString, String aString2)
|
||||
throws XMLStreamException {
|
||||
this.writer.writeStartDocument(aString, aString2);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.writer.GOMOutputWriter#writeEndDocument()
|
||||
*/
|
||||
public void writeEndDocument() throws XMLStreamException {
|
||||
this.writer.writeEndDocument();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.writer.GOMOutputWriter#flush()
|
||||
*/
|
||||
public void flush() throws XMLStreamException {
|
||||
this.writer.flush();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.apache.lucene.gdata.gom.writer.GOMOutputWriter#close()
|
||||
*/
|
||||
public void close() throws XMLStreamException {
|
||||
this.writer.close();
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,82 @@
|
|||
/**
|
||||
* 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.writer;
|
||||
|
||||
import java.io.Writer;
|
||||
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
import javax.xml.stream.XMLStreamWriter;
|
||||
|
||||
import com.bea.xml.stream.ConfigurationContextBase;
|
||||
import com.bea.xml.stream.XMLOutputFactoryBase;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public class GOMXmlOutputFactory extends XMLOutputFactoryBase {
|
||||
protected ConfigurationContextBase config = new ConfigurationContextBase();
|
||||
|
||||
/**
|
||||
* @see com.bea.xml.stream.XMLOutputFactoryBase#createXMLStreamWriter(java.io.OutputStream,
|
||||
* java.lang.String)
|
||||
*/
|
||||
@Override
|
||||
public XMLStreamWriter createXMLStreamWriter(Writer aWriter)
|
||||
throws XMLStreamException {
|
||||
GOMXmlWriter b = new GOMXmlWriter(aWriter);
|
||||
b.setConfigurationContext(config);
|
||||
return b;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see com.bea.xml.stream.XMLOutputFactoryBase#setProperty(java.lang.String,
|
||||
* java.lang.Object)
|
||||
*/
|
||||
public void setProperty(java.lang.String name, Object value) {
|
||||
config.setProperty(name, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see com.bea.xml.stream.XMLOutputFactoryBase#getProperty(java.lang.String)
|
||||
*/
|
||||
public Object getProperty(java.lang.String name) {
|
||||
return config.getProperty(name);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see com.bea.xml.stream.XMLOutputFactoryBase#isPrefixDefaulting()
|
||||
*/
|
||||
public boolean isPrefixDefaulting() {
|
||||
return config.isPrefixDefaulting();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see com.bea.xml.stream.XMLOutputFactoryBase#setPrefixDefaulting(boolean)
|
||||
*/
|
||||
public void setPrefixDefaulting(boolean value) {
|
||||
config.setPrefixDefaulting(value);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see com.bea.xml.stream.XMLOutputFactoryBase#isPropertySupported(java.lang.String)
|
||||
*/
|
||||
public boolean isPropertySupported(String name) {
|
||||
return config.isPropertySupported(name);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,86 @@
|
|||
/**
|
||||
* 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.writer;
|
||||
|
||||
import java.io.Writer;
|
||||
import java.nio.charset.CharsetEncoder;
|
||||
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import com.bea.xml.stream.XMLWriterBase;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public class GOMXmlWriter extends XMLWriterBase {
|
||||
private CharsetEncoder encoder;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public GOMXmlWriter() {
|
||||
super();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param arg0
|
||||
*/
|
||||
public GOMXmlWriter(Writer arg0) {
|
||||
super(arg0);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see com.bea.xml.stream.XMLWriterBase#writeCharacters(java.lang.String)
|
||||
*/
|
||||
@Override
|
||||
public void writeCharacters(String aString) throws XMLStreamException {
|
||||
closeStartElement();
|
||||
char[] ch = aString.toCharArray();
|
||||
escapeCharacters(ch, 0, ch.length);
|
||||
}
|
||||
|
||||
/*
|
||||
* The default implementation escapes all xml chars in the writeCharacters
|
||||
* method. This is not expected for xhtml blobs. To make it easier to write
|
||||
* xhtml blobs the writeCharacters(String) mehtod will be reimplemented for
|
||||
* internal use.
|
||||
*/
|
||||
private void escapeCharacters(char chars[], int start, int length)
|
||||
throws XMLStreamException {
|
||||
for (int i = 0; i < length; i++) {
|
||||
final char c = chars[i + start];
|
||||
|
||||
if (c < 32) {
|
||||
if ((c != '\t' && c != '\n')) {
|
||||
write("&#");
|
||||
write(Integer.toString(c));
|
||||
write(';');
|
||||
continue;
|
||||
}
|
||||
} else if (c > 127 && encoder != null && !encoder.canEncode(c)) {
|
||||
write("&#");
|
||||
write(Integer.toString(c));
|
||||
write(';');
|
||||
continue;
|
||||
}
|
||||
|
||||
write(c);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,55 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
* Testcase for GOMNamespace
|
||||
*
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public class GOMNamespaceTest extends TestCase {
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.GOMNamespace.GOMNamespace(String, String)'
|
||||
*/
|
||||
public void testGOMNamespace() {
|
||||
try {
|
||||
GOMNamespace namespace = new GOMNamespace(null, "a");
|
||||
fail("uri is null");
|
||||
} catch (IllegalArgumentException e) {
|
||||
//
|
||||
}
|
||||
try {
|
||||
new GOMNamespace("a", null);
|
||||
} catch (Exception e) {
|
||||
fail("unexp. exc");
|
||||
}
|
||||
|
||||
GOMNamespace namespace = new GOMNamespace(GOMNamespace.ATOM_NS_URI,
|
||||
GOMNamespace.ATOM_NS_PREFIX);
|
||||
assertEquals(GOMNamespace.ATOM_NS_PREFIX, namespace
|
||||
.getNamespacePrefix());
|
||||
assertEquals(GOMNamespace.ATOM_NS_URI, namespace.getNamespaceUri());
|
||||
//
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,179 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import java.io.StringWriter;
|
||||
import java.util.List;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
import javax.xml.stream.FactoryConfigurationError;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.apache.lucene.gdata.gom.GOMAttribute;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMStaxWriter;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public class ArbitraryGOMXmlTest extends TestCase {
|
||||
private ArbitraryGOMXml arbXML;
|
||||
|
||||
private QName name = new QName("testme");
|
||||
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
|
||||
arbXML = new ArbitraryGOMXml(name);
|
||||
}
|
||||
|
||||
protected void tearDown() throws Exception {
|
||||
super.tearDown();
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.ArbitraryGOMXml.getChildParser(QName)'
|
||||
*/
|
||||
public void testGetChildParser() {
|
||||
|
||||
try {
|
||||
this.arbXML.getChildParser(null);
|
||||
fail("qname is null");
|
||||
} catch (GDataParseException e) {
|
||||
assertEquals(0, this.arbXML.getChildren().size());
|
||||
}
|
||||
AtomParser childParser = this.arbXML.getChildParser(this.name);
|
||||
assertTrue(childParser instanceof ArbitraryGOMXml);
|
||||
|
||||
assertEquals(name, ((ArbitraryGOMXml) childParser).getQname());
|
||||
assertEquals(name.getLocalPart(), ((ArbitraryGOMXml) childParser)
|
||||
.getLocalName());
|
||||
assertEquals(1, this.arbXML.getChildren().size());
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.ArbitraryGOMXml.processAttribute(QName,
|
||||
* String)'
|
||||
*/
|
||||
public void testProcessAttribute() {
|
||||
try {
|
||||
this.arbXML.processAttribute(null, "test");
|
||||
fail("qname is null");
|
||||
|
||||
} catch (GDataParseException e) {
|
||||
assertTrue(this.arbXML.getAttributes().size() == 0);
|
||||
}
|
||||
this.arbXML.processAttribute(name, "testme");
|
||||
{
|
||||
List<GOMAttribute> attributes = this.arbXML.getAttributes();
|
||||
assertTrue(attributes.size() == 1);
|
||||
GOMAttribute attribute = attributes.get(0);
|
||||
assertNotNull(attribute);
|
||||
assertEquals(name, attribute.getQname());
|
||||
assertEquals(name.getLocalPart(), attribute.getLocalName());
|
||||
assertEquals("testme", attribute.getTextValue());
|
||||
}
|
||||
|
||||
{
|
||||
this.arbXML.processAttribute(name, null);
|
||||
List<GOMAttribute> attributes = this.arbXML.getAttributes();
|
||||
assertTrue(attributes.size() == 2);
|
||||
GOMAttribute attribute = attributes.get(1);
|
||||
assertNotNull(attribute);
|
||||
assertEquals(name, attribute.getQname());
|
||||
assertEquals(name.getLocalPart(), attribute.getLocalName());
|
||||
assertEquals("", attribute.getTextValue());
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.ArbitraryGOMXml.processElementValue(String)'
|
||||
*/
|
||||
public void testProcessElementValue() {
|
||||
try {
|
||||
this.arbXML.processElementValue(null);
|
||||
fail("name is null");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
this.arbXML.processElementValue("test value");
|
||||
|
||||
try {
|
||||
this.arbXML.processElementValue("test value");
|
||||
fail("value is already set");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
assertEquals("test value", this.arbXML.getTextValue());
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.ArbitraryGOMXml.ArbitraryGOMXml(QName)'
|
||||
*/
|
||||
public void testArbitraryGOMXml() {
|
||||
try {
|
||||
new ArbitraryGOMXml(null);
|
||||
fail("qname is null");
|
||||
} catch (IllegalArgumentException e) {
|
||||
|
||||
}
|
||||
ArbitraryGOMXml xml = new ArbitraryGOMXml(name);
|
||||
assertEquals(name, xml.getQname());
|
||||
assertEquals(name.getLocalPart(), xml.getLocalName());
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.ArbitraryGOMXml.writeAtomOutput(GOMWriter)'
|
||||
*/
|
||||
public void testWriteAtomOutput() throws XMLStreamException,
|
||||
FactoryConfigurationError {
|
||||
{
|
||||
StringWriter writer = new StringWriter();
|
||||
GOMOutputWriter w = new GOMStaxWriter(writer);
|
||||
this.arbXML.writeAtomOutput(w);
|
||||
assertNotNull(w.toString());
|
||||
assertEquals("<" + this.name.getLocalPart() + "/>", writer
|
||||
.toString());
|
||||
}
|
||||
try {
|
||||
this.arbXML.writeAtomOutput(null);
|
||||
fail("writer is null");
|
||||
|
||||
} catch (NullPointerException e) {
|
||||
//
|
||||
}
|
||||
{
|
||||
this.arbXML.processAttribute(name, "testme1");
|
||||
this.arbXML.processElementValue("testme2");
|
||||
StringWriter writer = new StringWriter();
|
||||
GOMOutputWriter w = new GOMStaxWriter(writer);
|
||||
this.arbXML.writeAtomOutput(w);
|
||||
assertEquals("<" + this.name.getLocalPart()
|
||||
+ " testme=\"testme1\">" + "testme2" + "</"
|
||||
+ this.name.getLocalPart() + ">", writer.toString());
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,136 @@
|
|||
package org.apache.lucene.gdata.gom.core;
|
||||
|
||||
import java.io.StringWriter;
|
||||
|
||||
import javax.xml.stream.FactoryConfigurationError;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import org.apache.lucene.gdata.gom.GOMIcon;
|
||||
import org.apache.lucene.gdata.gom.GOMLogo;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMStaxWriter;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public class AtomUriElementTest extends TestCase {
|
||||
GOMIconImpl iconImpl;
|
||||
|
||||
GOMLogoImpl logoImpl;
|
||||
|
||||
protected void setUp() throws Exception {
|
||||
this.iconImpl = new GOMIconImpl();
|
||||
this.logoImpl = new GOMLogoImpl();
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.AtomUriElement.processEndElement()'
|
||||
*/
|
||||
public void testProcessEndElement() {
|
||||
try {
|
||||
this.iconImpl.processEndElement();
|
||||
fail("no text value");
|
||||
} catch (GDataParseException e) {
|
||||
assertTrue(e.getMessage().indexOf("requires a element value") > 0);
|
||||
}
|
||||
|
||||
try {
|
||||
this.iconImpl.setTextValue("test");
|
||||
|
||||
this.iconImpl.processEndElement();
|
||||
fail("no text value");
|
||||
} catch (GDataParseException e) {
|
||||
assertTrue(e.getMessage().indexOf("must be a") > 0);
|
||||
}
|
||||
try {
|
||||
this.iconImpl.setTextValue("/test");
|
||||
|
||||
this.iconImpl.processEndElement();
|
||||
fail("no text value");
|
||||
} catch (GDataParseException e) {
|
||||
assertTrue(e.getMessage().indexOf("must be a") > 0);
|
||||
}
|
||||
this.iconImpl.xmlBase = "http://www.apache.org";
|
||||
this.iconImpl.setTextValue("/test");
|
||||
|
||||
this.iconImpl.processEndElement();
|
||||
|
||||
this.iconImpl.xmlBase = null;
|
||||
this.iconImpl.setTextValue("http://www.apache.org/test");
|
||||
|
||||
}
|
||||
|
||||
public void testConstructor() {
|
||||
assertEquals(GOMIcon.LOCALNAME, this.iconImpl.getLocalName());
|
||||
assertEquals(GOMIcon.LOCALNAME, this.iconImpl.getQname().getLocalPart());
|
||||
assertEquals(GOMLogo.LOCALNAME, this.logoImpl.getLocalName());
|
||||
assertEquals(GOMLogo.LOCALNAME, this.logoImpl.getQname().getLocalPart());
|
||||
}
|
||||
|
||||
public void testWriteRssOutput() throws XMLStreamException,
|
||||
FactoryConfigurationError {
|
||||
|
||||
{
|
||||
StringWriter stW = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(stW);
|
||||
this.iconImpl.writeRssOutput(writer);
|
||||
assertEquals("<url/>", stW.toString());
|
||||
}
|
||||
{
|
||||
StringWriter stW = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(stW);
|
||||
this.iconImpl.setTextValue("test");
|
||||
this.iconImpl.writeRssOutput(writer);
|
||||
assertEquals("<url>test</url>", stW.toString());
|
||||
}
|
||||
|
||||
{
|
||||
StringWriter stW = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(stW);
|
||||
this.logoImpl.writeRssOutput(writer);
|
||||
assertEquals("<url/>", stW.toString());
|
||||
}
|
||||
{
|
||||
StringWriter stW = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(stW);
|
||||
this.logoImpl.setTextValue("test");
|
||||
this.logoImpl.writeRssOutput(writer);
|
||||
assertEquals("<url>test</url>", stW.toString());
|
||||
}
|
||||
}
|
||||
|
||||
public void testWriteAtomOutput() throws XMLStreamException {
|
||||
{
|
||||
StringWriter stW = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(stW);
|
||||
this.iconImpl.writeAtomOutput(writer);
|
||||
assertEquals("<icon/>", stW.toString());
|
||||
}
|
||||
{
|
||||
StringWriter stW = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(stW);
|
||||
this.iconImpl.setTextValue("test");
|
||||
this.iconImpl.writeAtomOutput(writer);
|
||||
assertEquals("<icon>test</icon>", stW.toString());
|
||||
}
|
||||
|
||||
{
|
||||
StringWriter stW = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(stW);
|
||||
this.logoImpl.writeAtomOutput(writer);
|
||||
assertEquals("<logo/>", stW.toString());
|
||||
}
|
||||
{
|
||||
StringWriter stW = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(stW);
|
||||
this.logoImpl.setTextValue("test");
|
||||
this.logoImpl.writeAtomOutput(writer);
|
||||
assertEquals("<logo>test</logo>", stW.toString());
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,76 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public class GOMAttributeImplTest extends TestCase {
|
||||
protected GOMAttributeImpl gomAttribute;
|
||||
|
||||
protected void setUp() throws Exception {
|
||||
gomAttribute = new GOMAttributeImpl("test", "test");
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMAttributeImpl.GOMAttributeImpl(String,
|
||||
* String)'
|
||||
*/
|
||||
public void testGOMAttributeImplStringString() {
|
||||
GOMAttributeImpl impl = new GOMAttributeImpl("test", "test");
|
||||
assertTrue(impl.hasDefaultNamespace());
|
||||
assertTrue(impl.getLocalName().equals(impl.getTextValue()));
|
||||
assertEquals("test", impl.getLocalName());
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMAttributeImpl.GOMAttributeImpl(String,
|
||||
* String, String, String)'
|
||||
*/
|
||||
public void testGOMAttributeImplStringStringStringString() {
|
||||
GOMAttributeImpl impl = new GOMAttributeImpl("www.apache.org", "ap",
|
||||
"test", "test");
|
||||
assertFalse(impl.hasDefaultNamespace());
|
||||
assertTrue(impl.getLocalName().equals(impl.getTextValue()));
|
||||
assertEquals("test", impl.getLocalName());
|
||||
assertEquals("www.apache.org", impl.getQname().getNamespaceURI());
|
||||
assertEquals("ap", impl.getQname().getPrefix());
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMAttributeImpl.getQname()'
|
||||
*/
|
||||
public void testGetQname() {
|
||||
QName qname = gomAttribute.getQname();
|
||||
assertSame(qname, gomAttribute.getQname());
|
||||
assertTrue(gomAttribute.hasDefaultNamespace());
|
||||
gomAttribute.setNamespaceUri("something else");
|
||||
assertNotSame(qname, gomAttribute.getQname());
|
||||
assertFalse(gomAttribute.hasDefaultNamespace());
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,84 @@
|
|||
package org.apache.lucene.gdata.gom.core;
|
||||
|
||||
/**
|
||||
* 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.
|
||||
*/
|
||||
import java.io.StringWriter;
|
||||
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import org.apache.lucene.gdata.gom.GOMAuthor;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMStaxWriter;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public class GOMAuthorImplTest extends TestCase {
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMAuthorImpl.writeRssOutput(GOMWriter)'
|
||||
*/
|
||||
public void testWriteRssOutput() throws XMLStreamException {
|
||||
GOMAuthorImpl impl = new GOMAuthorImpl();
|
||||
try {
|
||||
impl.writeRssOutput(null);
|
||||
fail("writer is null");
|
||||
} catch (GDataParseException e) {
|
||||
}
|
||||
StringWriter writer2 = new StringWriter();
|
||||
|
||||
GOMOutputWriter writer = new GOMStaxWriter(writer2);
|
||||
impl.writeRssOutput(writer, "test");
|
||||
writer.flush();
|
||||
writer2.flush();
|
||||
|
||||
assertEquals("<test></test>", writer2.toString());
|
||||
impl.setEmail("simonw@apache.org");
|
||||
impl.setUri("someuri");
|
||||
writer.close();
|
||||
|
||||
writer2 = new StringWriter();
|
||||
writer = new GOMStaxWriter(writer2);
|
||||
impl.writeRssOutput(writer);
|
||||
writer.flush();
|
||||
writer2.flush();
|
||||
assertTrue(writer2.toString().length() > 0);
|
||||
|
||||
assertEquals("<" + GOMAuthor.LOCALNAME + ">" + impl.getEmail() + "</"
|
||||
+ GOMAuthor.LOCALNAME + ">", writer2.toString());
|
||||
|
||||
writer.close();
|
||||
|
||||
impl.setName("simonw");
|
||||
writer2 = new StringWriter();
|
||||
writer = new GOMStaxWriter(writer2);
|
||||
impl.writeRssOutput(writer);
|
||||
writer.flush();
|
||||
writer2.flush();
|
||||
assertTrue(writer2.toString().length() > 0);
|
||||
|
||||
assertEquals("<" + GOMAuthor.LOCALNAME + ">" + impl.getEmail() + "("
|
||||
+ impl.getName() + ")</" + GOMAuthor.LOCALNAME + ">", writer2
|
||||
.toString());
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,262 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import java.io.StringWriter;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import org.apache.lucene.gdata.gom.GOMNamespace;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMStaxWriter;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public class GOMCategoryTest extends TestCase {
|
||||
private QName qname = new QName(GOMNamespace.ATOM_NS_URI, "testme", "");
|
||||
|
||||
GOMCategoryImpl cat;
|
||||
|
||||
protected void setUp() throws Exception {
|
||||
this.cat = new GOMCategoryImpl();
|
||||
}
|
||||
|
||||
protected void tearDown() throws Exception {
|
||||
super.tearDown();
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMCategoryImpl.writeAtomOutput(GOMWriter)'
|
||||
*/
|
||||
public void testWriteAtomOutput() throws XMLStreamException {
|
||||
try {
|
||||
this.cat.writeAtomOutput(null);
|
||||
fail("wirter is null");
|
||||
} catch (NullPointerException e) {
|
||||
//
|
||||
}
|
||||
{
|
||||
StringWriter strWriter = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(strWriter);
|
||||
this.cat.writeAtomOutput(writer);
|
||||
assertEquals("<category term=\"\"/>", strWriter.toString());
|
||||
|
||||
}
|
||||
|
||||
{
|
||||
StringWriter strWriter = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(strWriter);
|
||||
this.cat.term = "test";
|
||||
this.cat.writeAtomOutput(writer);
|
||||
assertEquals("<category term=\"test\"/>", strWriter.toString());
|
||||
|
||||
}
|
||||
|
||||
{
|
||||
StringWriter strWriter = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(strWriter);
|
||||
this.cat.label = "python";
|
||||
this.cat.scheme = "monty";
|
||||
|
||||
this.cat.writeAtomOutput(writer);
|
||||
assertEquals(
|
||||
"<category term=\"test\" scheme=\"monty\" label=\"python\"/>",
|
||||
strWriter.toString());
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMCategoryImpl.writeRssOutput(GOMWriter)'
|
||||
*/
|
||||
public void testWriteRssOutput() throws XMLStreamException {
|
||||
try {
|
||||
this.cat.writeRssOutput(null);
|
||||
fail("wirter is null");
|
||||
} catch (NullPointerException e) {
|
||||
//
|
||||
}
|
||||
|
||||
{
|
||||
StringWriter strWriter = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(strWriter);
|
||||
this.cat.writeRssOutput(writer);
|
||||
assertEquals("<category domain=\"\"/>", strWriter.toString());
|
||||
}
|
||||
|
||||
{
|
||||
StringWriter strWriter = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(strWriter);
|
||||
this.cat.scheme = "www.apache.org";
|
||||
this.cat.writeRssOutput(writer);
|
||||
assertEquals("<category domain=\"www.apache.org\"/>", strWriter
|
||||
.toString());
|
||||
}
|
||||
|
||||
{
|
||||
StringWriter strWriter = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(strWriter);
|
||||
this.cat.scheme = "www.apache.org";
|
||||
this.cat.term = "Goo Data";
|
||||
this.cat.writeRssOutput(writer);
|
||||
assertEquals(
|
||||
"<category domain=\"www.apache.org\">Goo Data</category>",
|
||||
strWriter.toString());
|
||||
}
|
||||
|
||||
{
|
||||
StringWriter strWriter = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(strWriter);
|
||||
this.cat.scheme = "www.apache.org";
|
||||
this.cat.term = "Goo Data";
|
||||
this.cat.label = "ignore";
|
||||
this.cat.writeRssOutput(writer);
|
||||
assertEquals(
|
||||
"<category domain=\"www.apache.org\">Goo Data</category>",
|
||||
strWriter.toString());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.AbstractGOMElement.processAttribute(QName,
|
||||
* String)'
|
||||
*/
|
||||
public void testProcessAttribute() {
|
||||
try {
|
||||
this.cat.processAttribute(null, "test");
|
||||
fail("qname is null");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
{
|
||||
QName name = new QName("term");
|
||||
this.cat.processAttribute(name, "helloworld");
|
||||
assertEquals("helloworld", this.cat.getTerm());
|
||||
|
||||
try {
|
||||
this.cat.processAttribute(name, "helloworld");
|
||||
fail("duplicated attribute");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
QName name = new QName("scheme");
|
||||
this.cat.processAttribute(name, "helloworld1");
|
||||
assertEquals("helloworld1", this.cat.getScheme());
|
||||
|
||||
try {
|
||||
this.cat.processAttribute(name, "helloworld1");
|
||||
fail("duplicated attribute");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
QName name = new QName("label");
|
||||
this.cat.processAttribute(name, "John Cleese");
|
||||
assertEquals("John Cleese", this.cat.getLabel());
|
||||
|
||||
try {
|
||||
this.cat.processAttribute(name, "John Cleese");
|
||||
fail("duplicated attribute");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.AbstractGOMElement.processElementValue(String)'
|
||||
*/
|
||||
public void testProcessElementValue() {
|
||||
try {
|
||||
this.cat.processElementValue(null);
|
||||
fail("element value is null");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
try {
|
||||
this.cat.processElementValue("and again");
|
||||
fail("can't contain a text value");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
assertNull(this.cat.getTextValue());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.AbstractGOMElement.processEndElement()'
|
||||
*/
|
||||
public void testProcessEndElement() {
|
||||
try {
|
||||
this.cat.processEndElement();
|
||||
fail("term is not set");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
this.cat.setTerm("my Term");
|
||||
this.cat.processEndElement();
|
||||
this.cat.setScheme("test");
|
||||
|
||||
try {
|
||||
this.cat.processEndElement();
|
||||
fail("scheme is not a absoulte uri");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
this.cat.setScheme("/test");
|
||||
|
||||
try {
|
||||
this.cat.processEndElement();
|
||||
fail("scheme is not a absoulte uri and no xmlbase is set");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
{
|
||||
this.cat.xmlBase = "http://www.apache.org";
|
||||
this.cat.processEndElement();
|
||||
}
|
||||
|
||||
{
|
||||
this.cat.xmlBase = null;
|
||||
this.cat.setScheme("http://www.apache.org/test");
|
||||
this.cat.processEndElement();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,275 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import java.io.StringWriter;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
import javax.xml.stream.FactoryConfigurationError;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import org.apache.lucene.gdata.gom.AtomMediaType;
|
||||
import org.apache.lucene.gdata.gom.ContentType;
|
||||
import org.apache.lucene.gdata.gom.GOMContent;
|
||||
import org.apache.lucene.gdata.gom.GOMNamespace;
|
||||
import org.apache.lucene.gdata.gom.core.GOMTextContructImpl.XMLBlobContentParser;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMStaxWriter;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public class GOMContentImplTest extends TestCase {
|
||||
|
||||
private GOMContentImpl impl;
|
||||
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
this.impl = new GOMContentImpl();
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMContentImpl.getChildParser(QName)'
|
||||
*/
|
||||
public void testGetChildParser() {
|
||||
try {
|
||||
this.impl.getChildParser(new QName("test"));
|
||||
fail("no blob specified");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
this.impl.setAtomMediaType(AtomMediaType.XML);
|
||||
AtomParser childParser = this.impl.getChildParser(new QName("test"));
|
||||
assertNotNull(childParser);
|
||||
assertTrue(childParser instanceof XMLBlobContentParser);
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMContentImpl.processAttribute(QName,
|
||||
* String)'
|
||||
*/
|
||||
public void testProcessAttribute() {
|
||||
try {
|
||||
this.impl.processAttribute(null, "test");
|
||||
fail("qname is null");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
try {
|
||||
this.impl.processAttribute(new QName("test"), null);
|
||||
fail("value is null");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
this.impl.processAttribute(new QName(GOMNamespace.ATOM_NS_URI, "type"),
|
||||
"text/xml");
|
||||
assertSame(AtomMediaType.XML, this.impl.getAtomMediaType());
|
||||
try {
|
||||
this.impl.processAttribute(new QName(GOMNamespace.ATOM_NS_URI,
|
||||
"type"), "text/xml");
|
||||
fail("duplicated attribute");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
this.impl.setAtomMediaType(null);
|
||||
this.impl.processAttribute(new QName(GOMNamespace.ATOM_NS_URI, "type"),
|
||||
"text/plain");
|
||||
assertSame(AtomMediaType.TEXT, this.impl.getAtomMediaType());
|
||||
|
||||
this.impl.setAtomMediaType(null);
|
||||
this.impl.processAttribute(new QName(GOMNamespace.ATOM_NS_URI, "type"),
|
||||
"image/jpeg");
|
||||
assertSame(AtomMediaType.BINARY, this.impl.getAtomMediaType());
|
||||
|
||||
// test if super is called
|
||||
this.impl.setAtomMediaType(null);
|
||||
this.impl.processAttribute(new QName(GOMNamespace.ATOM_NS_URI, "type"),
|
||||
"xhtml");
|
||||
assertNull(this.impl.getAtomMediaType());
|
||||
assertSame(ContentType.XHTML, this.impl.getContentType());
|
||||
|
||||
this.impl.processAttribute(new QName(GOMNamespace.ATOM_NS_URI, "src"),
|
||||
"test");
|
||||
assertEquals("test", this.impl.getSrc());
|
||||
try {
|
||||
this.impl.processAttribute(new QName(GOMNamespace.ATOM_NS_URI,
|
||||
"src"), "text/xml");
|
||||
fail("duplicated attribute");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMContentImpl.processElementValue(String)'
|
||||
*/
|
||||
public void testProcessElementValue() {
|
||||
assertNull(this.impl.getTextValue());
|
||||
this.impl.processElementValue("test");
|
||||
assertEquals("test", this.impl.getTextValue());
|
||||
this.impl.setSrc("http://www.apache.org");
|
||||
try {
|
||||
this.impl.processElementValue("test");
|
||||
fail("src is set no element value allowed");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMContentImpl.processEndElement()'
|
||||
*/
|
||||
public void testProcessEndElement() {
|
||||
try {
|
||||
this.impl.processEndElement();
|
||||
fail("no type attribute");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
this.impl.processAttribute(new QName(GOMNamespace.ATOM_NS_URI, "type"),
|
||||
"text/plain");
|
||||
this.impl.processEndElement();
|
||||
this.impl.setSrc("http://www.apache.org");
|
||||
this.impl.processEndElement();
|
||||
|
||||
this.impl.setSrc("/test");
|
||||
try {
|
||||
this.impl.processEndElement();
|
||||
fail("must be absolut uri");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
this.impl.xmlBase = "http://www.apache.org";
|
||||
this.impl.processEndElement();
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMContentImpl.writeAtomOutput(GOMOutputWriter)'
|
||||
*/
|
||||
public void testWriteAtomOutput() throws XMLStreamException,
|
||||
FactoryConfigurationError {
|
||||
{
|
||||
StringWriter stW = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(stW);
|
||||
this.impl.writeAtomOutput(writer);
|
||||
assertEquals("<content type=\"text\"/>", stW.toString());
|
||||
}
|
||||
|
||||
{
|
||||
this.impl.processAttribute(new QName(GOMNamespace.ATOM_NS_URI,
|
||||
"type"), "image/jpeg");
|
||||
StringWriter stW = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(stW);
|
||||
this.impl.writeAtomOutput(writer);
|
||||
assertEquals("<content type=\"image/jpeg\"/>", stW.toString());
|
||||
}
|
||||
|
||||
{
|
||||
this.impl.setSrc("http://www.apache.org");
|
||||
this.impl.setTextValue("hello world");
|
||||
StringWriter stW = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(stW);
|
||||
this.impl.writeAtomOutput(writer);
|
||||
assertEquals(
|
||||
"<content type=\"image/jpeg\" src=\"http://www.apache.org\"/>",
|
||||
stW.toString());
|
||||
}
|
||||
|
||||
{
|
||||
this.impl.setSrc(null);
|
||||
this.impl.setTextValue("hello world");
|
||||
StringWriter stW = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(stW);
|
||||
this.impl.writeAtomOutput(writer);
|
||||
assertEquals("<content type=\"image/jpeg\">hello world</content>",
|
||||
stW.toString());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMContentImpl.writeRssOutput(GOMOutputWriter)'
|
||||
*/
|
||||
public void testWriteRssOutputGOMOutputWriter() throws XMLStreamException {
|
||||
{
|
||||
StringWriter stW = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(stW);
|
||||
this.impl.writeRssOutput(writer);
|
||||
assertEquals("<description/>", stW.toString());
|
||||
}
|
||||
|
||||
{
|
||||
this.impl.setSrc("http://www.apache.org");
|
||||
this.impl.setAtomMediaType(AtomMediaType.TEXT);
|
||||
StringWriter stW = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(stW);
|
||||
this.impl.writeRssOutput(writer);
|
||||
assertEquals("<link>http://www.apache.org</link>", stW.toString());
|
||||
}
|
||||
|
||||
{
|
||||
this.impl.setSrc(null);
|
||||
this.impl.setAtomMediaType(AtomMediaType.TEXT);
|
||||
this.impl.setTextValue("test");
|
||||
StringWriter stW = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(stW);
|
||||
this.impl.writeRssOutput(writer);
|
||||
assertEquals("<description>test</description>", stW.toString());
|
||||
}
|
||||
|
||||
{
|
||||
this.impl.setAtomMediaType(null);
|
||||
|
||||
this.impl.processAttribute(new QName(GOMNamespace.ATOM_NS_URI,
|
||||
"type"), "image/jpeg");
|
||||
StringWriter stW = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(stW);
|
||||
this.impl.writeRssOutput(writer);
|
||||
assertEquals("<content type=\"image/jpeg\">test</content>", stW
|
||||
.toString());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMContentImpl.GOMContentImpl()'
|
||||
*/
|
||||
public void testGOMContentImpl() {
|
||||
GOMContentImpl impl2 = new GOMContentImpl();
|
||||
assertEquals(GOMContent.LOCALNAME, impl2.getLocalName());
|
||||
assertEquals(GOMContent.LOCALNAME, impl2.getQname().getLocalPart());
|
||||
assertEquals(GOMNamespace.ATOM_NS_URI, impl2.getQname()
|
||||
.getNamespaceURI());
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,171 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import java.io.StringWriter;
|
||||
import java.util.Date;
|
||||
|
||||
import javax.xml.stream.FactoryConfigurationError;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.apache.lucene.gdata.gom.writer.GOMStaxWriter;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public class GOMDateConstructImplTest extends TestCase {
|
||||
private static final String DATE = "2003-12-13T18:30:02+02:00";
|
||||
|
||||
private static final String DATE_RSS = "Sat, 13 Dec 2003 16:30:02 +0000";
|
||||
|
||||
private static final String DATE1 = "2003-12-13T18:30:02.25Z";
|
||||
|
||||
private GOMUpdatedImpl updateImpl;
|
||||
|
||||
private GOMPublishedImpl publishImpl;
|
||||
|
||||
protected void setUp() throws Exception {
|
||||
this.updateImpl = new GOMUpdatedImpl();
|
||||
this.publishImpl = new GOMPublishedImpl();
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMDateConstructImpl.processElementValue(String)'
|
||||
*/
|
||||
public void testProcessElementValue() {
|
||||
try {
|
||||
this.updateImpl.processElementValue(null);
|
||||
fail("must not be null");
|
||||
} catch (IllegalArgumentException e) {
|
||||
//
|
||||
}
|
||||
try {
|
||||
this.updateImpl.processElementValue("not a date");
|
||||
fail("illegal string");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
this.updateImpl.processElementValue(DATE);
|
||||
assertNotNull(this.updateImpl.getDate());
|
||||
this.updateImpl.processElementValue(DATE1);
|
||||
assertNotNull(this.updateImpl.getDate());
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMDateConstructImpl.processEndElement()'
|
||||
*/
|
||||
public void testProcessEndElement() {
|
||||
try {
|
||||
this.updateImpl.processEndElement();
|
||||
fail("no element value");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
this.updateImpl.setDate(new Date());
|
||||
this.updateImpl.processEndElement();
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMDateConstructImpl.writeAtomOutput(GOMWriter)'
|
||||
*/
|
||||
public void testWriteAtomOutput() throws XMLStreamException,
|
||||
FactoryConfigurationError {
|
||||
{
|
||||
StringWriter strWriter = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(strWriter);
|
||||
this.updateImpl.writeAtomOutput(writer);
|
||||
assertTrue(strWriter.toString().startsWith("<updated>"));
|
||||
assertTrue(strWriter.toString().endsWith("</updated>"));
|
||||
}
|
||||
{
|
||||
this.updateImpl.processElementValue(DATE);
|
||||
StringWriter strWriter = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(strWriter);
|
||||
this.updateImpl.writeAtomOutput(writer);
|
||||
assertEquals("<updated>" + DATE + "</updated>", strWriter
|
||||
.toString());
|
||||
}
|
||||
|
||||
{
|
||||
StringWriter strWriter = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(strWriter);
|
||||
this.publishImpl.writeAtomOutput(writer);
|
||||
assertTrue(strWriter.toString().startsWith("<published>"));
|
||||
assertTrue(strWriter.toString().endsWith("</published>"));
|
||||
}
|
||||
{
|
||||
this.publishImpl.processElementValue(DATE);
|
||||
StringWriter strWriter = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(strWriter);
|
||||
this.publishImpl.writeAtomOutput(writer);
|
||||
assertEquals("<published>" + DATE + "</published>", strWriter
|
||||
.toString());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMDateConstructImpl.writeRssOutput(GOMWriter)'
|
||||
*/
|
||||
public void testWriteRssOutput() throws XMLStreamException,
|
||||
FactoryConfigurationError {
|
||||
{
|
||||
StringWriter strWriter = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(strWriter);
|
||||
this.updateImpl.writeRssOutput(writer);
|
||||
assertTrue(strWriter.toString().startsWith("<atom:updated>"));
|
||||
assertTrue(strWriter.toString().endsWith("</atom:updated>"));
|
||||
}
|
||||
{
|
||||
this.updateImpl.processElementValue(DATE);
|
||||
StringWriter strWriter = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(strWriter);
|
||||
this.updateImpl.writeRssOutput(writer);
|
||||
assertEquals("<atom:updated>" + DATE + "</atom:updated>", strWriter
|
||||
.toString());
|
||||
}
|
||||
|
||||
{
|
||||
StringWriter strWriter = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(strWriter);
|
||||
this.publishImpl.writeRssOutput(writer);
|
||||
|
||||
assertTrue(strWriter.toString().startsWith("<pubDate>"));
|
||||
assertTrue(strWriter.toString().endsWith("</pubDate>"));
|
||||
}
|
||||
{
|
||||
this.publishImpl.processElementValue(DATE);
|
||||
StringWriter strWriter = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(strWriter);
|
||||
this.publishImpl.writeRssOutput(writer);
|
||||
assertEquals("<pubDate>" + DATE_RSS + "</pubDate>", strWriter
|
||||
.toString());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,107 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import java.io.StringWriter;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
import javax.xml.stream.FactoryConfigurationError;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import org.apache.lucene.gdata.gom.writer.GOMStaxWriter;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public class GOMDocumentImplTest extends TestCase {
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMDocumentImpl.writeAtomOutput(GOMWriter)'
|
||||
*/
|
||||
public void testWriteAtomOutput() throws XMLStreamException,
|
||||
FactoryConfigurationError {
|
||||
GOMDocumentImpl<ArbitraryGOMXml> impl = new GOMDocumentImpl<ArbitraryGOMXml>();
|
||||
impl.setRootElement(new ArbitraryGOMXml(new QName("test")));
|
||||
{
|
||||
StringWriter strWriter = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(strWriter);
|
||||
impl.writeAtomOutput(writer);
|
||||
assertEquals("<?xml version='1.0' encoding='UTF-8'?><test/>",
|
||||
strWriter.toString());
|
||||
}
|
||||
impl.setRootElement(null);
|
||||
{
|
||||
StringWriter strWriter = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(strWriter);
|
||||
impl.writeAtomOutput(writer);
|
||||
assertEquals("<?xml version='1.0' encoding='UTF-8'?>", strWriter
|
||||
.toString());
|
||||
}
|
||||
|
||||
impl.setVersion("2.0");
|
||||
impl.setCharacterEncoding("ISO-8859-1");
|
||||
{
|
||||
StringWriter strWriter = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(strWriter);
|
||||
impl.writeAtomOutput(writer);
|
||||
assertEquals("<?xml version='2.0' encoding='ISO-8859-1'?>",
|
||||
strWriter.toString());
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMDocumentImpl.writeRssOutput(GOMWriter)'
|
||||
*/
|
||||
public void testWriteRssOutput() throws XMLStreamException,
|
||||
FactoryConfigurationError {
|
||||
GOMDocumentImpl<ArbitraryGOMXml> impl = new GOMDocumentImpl<ArbitraryGOMXml>();
|
||||
impl.setRootElement(new ArbitraryGOMXml(new QName("test")));
|
||||
{
|
||||
StringWriter strWriter = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(strWriter);
|
||||
impl.writeRssOutput(writer);
|
||||
assertEquals("<?xml version='1.0' encoding='UTF-8'?><test/>",
|
||||
strWriter.toString());
|
||||
}
|
||||
impl.setRootElement(null);
|
||||
{
|
||||
StringWriter strWriter = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(strWriter);
|
||||
impl.writeRssOutput(writer);
|
||||
assertEquals("<?xml version='1.0' encoding='UTF-8'?>", strWriter
|
||||
.toString());
|
||||
}
|
||||
|
||||
impl.setVersion("2.0");
|
||||
impl.setCharacterEncoding("ISO-8859-1");
|
||||
{
|
||||
StringWriter strWriter = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(strWriter);
|
||||
impl.writeRssOutput(writer);
|
||||
assertEquals("<?xml version='2.0' encoding='ISO-8859-1'?>",
|
||||
strWriter.toString());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,526 @@
|
|||
package org.apache.lucene.gdata.gom.core;
|
||||
|
||||
import java.io.StringWriter;
|
||||
import java.util.List;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
import javax.xml.stream.FactoryConfigurationError;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import org.apache.lucene.gdata.gom.AtomMediaType;
|
||||
import org.apache.lucene.gdata.gom.GOMAuthor;
|
||||
import org.apache.lucene.gdata.gom.GOMCategory;
|
||||
import org.apache.lucene.gdata.gom.GOMContent;
|
||||
import org.apache.lucene.gdata.gom.GOMContributor;
|
||||
import org.apache.lucene.gdata.gom.GOMEntry;
|
||||
import org.apache.lucene.gdata.gom.GOMExtension;
|
||||
import org.apache.lucene.gdata.gom.GOMGenerator;
|
||||
import org.apache.lucene.gdata.gom.GOMIcon;
|
||||
import org.apache.lucene.gdata.gom.GOMId;
|
||||
import org.apache.lucene.gdata.gom.GOMLink;
|
||||
import org.apache.lucene.gdata.gom.GOMLogo;
|
||||
import org.apache.lucene.gdata.gom.GOMNamespace;
|
||||
import org.apache.lucene.gdata.gom.GOMPublished;
|
||||
import org.apache.lucene.gdata.gom.GOMRights;
|
||||
import org.apache.lucene.gdata.gom.GOMSource;
|
||||
import org.apache.lucene.gdata.gom.GOMSubtitle;
|
||||
import org.apache.lucene.gdata.gom.GOMSummary;
|
||||
import org.apache.lucene.gdata.gom.GOMTitle;
|
||||
import org.apache.lucene.gdata.gom.GOMUpdated;
|
||||
import org.apache.lucene.gdata.gom.core.GOMFeedImplTest.TestExtendsionFactory;
|
||||
import org.apache.lucene.gdata.gom.core.GOMFeedImplTest.TestExtension;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMStaxWriter;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
public class GOMEntryImplTest extends TestCase {
|
||||
private static final String TEST_LOCAL_NAME = GOMFeedImplTest.TEST_LOCAL_NAME;
|
||||
|
||||
private GOMEntryImpl impl;
|
||||
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
this.impl = new GOMEntryImpl();
|
||||
}
|
||||
|
||||
public void testSetNamespace() {
|
||||
assertEquals(0, this.impl.getNamespaces().size());
|
||||
assertNotNull(this.impl.getDefaultNamespace());
|
||||
this.impl.addNamespace(GOMNamespace.ATOM_NAMESPACE);
|
||||
assertSame(GOMNamespace.ATOM_NAMESPACE, this.impl.getDefaultNamespace());
|
||||
this.impl.addNamespace(GOMNamespace.OPENSEARCH_NAMESPACE);
|
||||
assertEquals(1, this.impl.getNamespaces().size());
|
||||
assertSame(GOMNamespace.OPENSEARCH_NAMESPACE, this.impl.getNamespaces()
|
||||
.get(0));
|
||||
|
||||
// detect defaul ns
|
||||
this.impl.addNamespace(new GOMNamespace(GOMNamespace.ATOM_NS_URI, ""));
|
||||
assertEquals(1, this.impl.getNamespaces().size());
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMEntryImpl.getChildParser(QName)'
|
||||
*/
|
||||
public void testGetChildParser() {
|
||||
{
|
||||
// atomAuthor*
|
||||
AtomParser parser = this.impl.getChildParser(new QName(
|
||||
GOMNamespace.ATOM_NS_URI, "author"));
|
||||
assertNotNull(parser);
|
||||
assertTrue(parser instanceof GOMAuthor);
|
||||
assertEquals(1, this.impl.getAuthors().size());
|
||||
this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,
|
||||
"author"));
|
||||
assertEquals(2, this.impl.getAuthors().size());
|
||||
}
|
||||
|
||||
{
|
||||
// atomCategory*
|
||||
AtomParser parser = this.impl.getChildParser(new QName(
|
||||
GOMNamespace.ATOM_NS_URI, "category"));
|
||||
assertNotNull(parser);
|
||||
assertTrue(parser instanceof GOMCategory);
|
||||
assertEquals(1, this.impl.getCategories().size());
|
||||
this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,
|
||||
"category"));
|
||||
assertEquals(2, this.impl.getCategories().size());
|
||||
}
|
||||
|
||||
{
|
||||
// atomContributor*
|
||||
AtomParser parser = this.impl.getChildParser(new QName(
|
||||
GOMNamespace.ATOM_NS_URI, "contributor"));
|
||||
assertNotNull(parser);
|
||||
assertTrue(parser instanceof GOMContributor);
|
||||
assertEquals(1, this.impl.getContributor().size());
|
||||
this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,
|
||||
"contributor"));
|
||||
assertEquals(2, this.impl.getContributor().size());
|
||||
}
|
||||
|
||||
{
|
||||
// atomId
|
||||
AtomParser parser = this.impl.getChildParser(new QName(
|
||||
GOMNamespace.ATOM_NS_URI, "id"));
|
||||
assertNotNull(parser);
|
||||
assertTrue(parser instanceof GOMId);
|
||||
assertSame(parser, this.impl.getId());
|
||||
try {
|
||||
this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,
|
||||
"id"));
|
||||
fail("exactly one time ");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
{
|
||||
// atomLink*
|
||||
AtomParser parser = this.impl.getChildParser(new QName(
|
||||
GOMNamespace.ATOM_NS_URI, "link"));
|
||||
assertNotNull(parser);
|
||||
assertTrue(parser instanceof GOMLink);
|
||||
assertEquals(1, this.impl.getLinks().size());
|
||||
this.impl
|
||||
.getChildParser(new QName(GOMNamespace.ATOM_NS_URI, "link"));
|
||||
assertEquals(2, this.impl.getLinks().size());
|
||||
|
||||
}
|
||||
|
||||
{
|
||||
// atomRights?
|
||||
AtomParser parser = this.impl.getChildParser(new QName(
|
||||
GOMNamespace.ATOM_NS_URI, "rights"));
|
||||
assertNotNull(parser);
|
||||
assertTrue(parser instanceof GOMRights);
|
||||
assertSame(parser, this.impl.getRights());
|
||||
try {
|
||||
this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,
|
||||
"rights"));
|
||||
fail("zero or one");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
{
|
||||
// atomTitle
|
||||
AtomParser parser = this.impl.getChildParser(new QName(
|
||||
GOMNamespace.ATOM_NS_URI, "title"));
|
||||
assertNotNull(parser);
|
||||
assertTrue(parser instanceof GOMTitle);
|
||||
assertSame(parser, this.impl.getTitle());
|
||||
try {
|
||||
this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,
|
||||
"title"));
|
||||
fail("exactly one time ");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
{
|
||||
// atomUpdated
|
||||
AtomParser parser = this.impl.getChildParser(new QName(
|
||||
GOMNamespace.ATOM_NS_URI, "updated"));
|
||||
assertNotNull(parser);
|
||||
assertTrue(parser instanceof GOMUpdated);
|
||||
assertSame(parser, this.impl.getUpdated());
|
||||
try {
|
||||
this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,
|
||||
"updated"));
|
||||
fail("exactly one time ");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
{
|
||||
// atomSource?
|
||||
AtomParser parser = this.impl.getChildParser(new QName(
|
||||
GOMNamespace.ATOM_NS_URI, "source"));
|
||||
assertNotNull(parser);
|
||||
assertTrue(parser instanceof GOMSource);
|
||||
assertEquals(parser, this.impl.getSource());
|
||||
try {
|
||||
this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,
|
||||
"source"));
|
||||
fail("duplicated element");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
{
|
||||
// atomSummary?
|
||||
AtomParser parser = this.impl.getChildParser(new QName(
|
||||
GOMNamespace.ATOM_NS_URI, "summary"));
|
||||
assertNotNull(parser);
|
||||
assertTrue(parser instanceof GOMSummary);
|
||||
assertEquals(parser, this.impl.getSummary());
|
||||
try {
|
||||
this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,
|
||||
"summary"));
|
||||
fail("duplicated element");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
{
|
||||
// atomContent?
|
||||
AtomParser parser = this.impl.getChildParser(new QName(
|
||||
GOMNamespace.ATOM_NS_URI, "content"));
|
||||
assertNotNull(parser);
|
||||
assertTrue(parser instanceof GOMContent);
|
||||
assertEquals(parser, this.impl.getContent());
|
||||
try {
|
||||
this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,
|
||||
"content"));
|
||||
fail("duplicated element");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
{
|
||||
// atomContent?
|
||||
AtomParser parser = this.impl.getChildParser(new QName(
|
||||
GOMNamespace.ATOM_NS_URI, "published"));
|
||||
assertNotNull(parser);
|
||||
assertTrue(parser instanceof GOMPublished);
|
||||
assertEquals(parser, this.impl.getPublished());
|
||||
try {
|
||||
this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,
|
||||
"published"));
|
||||
fail("duplicated element");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMEntryImpl.processEndElement()'
|
||||
*/
|
||||
public void testProcessEndElement() {
|
||||
try {
|
||||
this.impl.processEndElement();
|
||||
fail("missing elements");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
// atom:entry elements MUST contain exactly one atom:id element.
|
||||
this.impl.setId(new GOMIdImpl());
|
||||
/*
|
||||
* atom:entry elements that contain no child atom:content element MUST
|
||||
* contain at least one atom:link element with a rel attribute value of
|
||||
* "alternate".
|
||||
*/
|
||||
GOMLink link = new GOMLinkImpl();
|
||||
link.setRel("alternate");
|
||||
this.impl.addLink(link);
|
||||
/*
|
||||
* atom:entry elements MUST contain exactly one atom:title element.
|
||||
*/
|
||||
this.impl.setTitle(new GOMTitleImpl());
|
||||
/*
|
||||
* atom:entry elements MUST contain exactly one atom:updated element.
|
||||
*/
|
||||
this.impl.setUpdated(new GOMUpdatedImpl());
|
||||
|
||||
{
|
||||
this.impl.setId(null);
|
||||
try {
|
||||
this.impl.processEndElement();
|
||||
fail("id is missing");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
this.impl.setId(new GOMIdImpl());
|
||||
}
|
||||
|
||||
{
|
||||
this.impl.getLinks().clear();
|
||||
try {
|
||||
this.impl.processEndElement();
|
||||
fail("link alternate is missing");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
this.impl.setContent(new GOMContentImpl());
|
||||
this.impl.processEndElement();
|
||||
this.impl.setContent(null);
|
||||
this.impl.addLink(link);
|
||||
}
|
||||
|
||||
{
|
||||
this.impl.setTitle(null);
|
||||
try {
|
||||
this.impl.processEndElement();
|
||||
fail("title is missing");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
this.impl.setTitle(new GOMTitleImpl());
|
||||
}
|
||||
{
|
||||
this.impl.setUpdated(null);
|
||||
try {
|
||||
this.impl.processEndElement();
|
||||
fail("Updated is missing");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
this.impl.setUpdated(new GOMUpdatedImpl());
|
||||
}
|
||||
|
||||
/*
|
||||
* atom:entry elements MUST NOT contain more than one atom:link element
|
||||
* with a rel attribute value of "alternate" that has the same
|
||||
* combination of type and hreflang attribute values.
|
||||
*/
|
||||
link.setType("test");
|
||||
link.setHrefLang("http://www.apache.org");
|
||||
this.impl.addLink(link);
|
||||
try {
|
||||
this.impl.processEndElement();
|
||||
fail("doulbe alternate link with same type and hreflang");
|
||||
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
this.impl.getLinks().remove(0);
|
||||
/*
|
||||
* # atom:entry elements MUST contain an atom:summary element in either
|
||||
* of the following cases:
|
||||
*
|
||||
* the atom:entry contains an atom:content that has a "src" attribute
|
||||
* (and is thus empty). the atom:entry contains content that is encoded
|
||||
* in Base64; i.e., the "type" attribute of atom:content is a MIME media
|
||||
* type [MIMEREG], but is not an XML media type [RFC3023], does not
|
||||
* begin with "text/", and does not end with "/xml" or "+xml".
|
||||
*
|
||||
*
|
||||
*/
|
||||
GOMContent c = new GOMContentImpl();
|
||||
c.setSrc("");
|
||||
this.impl.setContent(c);
|
||||
try {
|
||||
this.impl.processEndElement();
|
||||
fail("no summary");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
c.setSrc(null);
|
||||
c.setAtomMediaType(AtomMediaType.BINARY);
|
||||
try {
|
||||
this.impl.processEndElement();
|
||||
fail("no summary");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMEntryImpl.GOMEntryImpl()'
|
||||
*/
|
||||
public void testGOMEntryImpl() {
|
||||
GOMEntryImpl impl2 = new GOMEntryImpl();
|
||||
assertNotNull(impl2.getQname());
|
||||
assertEquals(GOMEntry.LOCALNAME, impl.getQname().getLocalPart());
|
||||
assertEquals(GOMEntry.LOCALNAME, this.impl.getLocalName());
|
||||
assertEquals(GOMNamespace.ATOM_NS_URI, impl.getQname()
|
||||
.getNamespaceURI());
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMEntryImpl.writeAtomOutput(GOMOutputWriter)'
|
||||
*/
|
||||
public void testWriteAtomOutput() throws XMLStreamException,
|
||||
FactoryConfigurationError {
|
||||
// write a whole feed and check if all elements are written
|
||||
this.impl.addAuthor(new GOMAuthorImpl());
|
||||
this.impl.addCategory(new GOMCategoryImpl());
|
||||
this.impl.addContributor(new GOMContributorImpl());
|
||||
this.impl.addLink(new GOMLinkImpl());
|
||||
this.impl.setContent(new GOMContentImpl());
|
||||
this.impl.setId(new GOMIdImpl());
|
||||
this.impl.setRights(new GOMRightsImpl());
|
||||
this.impl.setSummary(new GOMSummaryImpl());
|
||||
this.impl.setTitle(new GOMTitleImpl());
|
||||
this.impl.setUpdated(new GOMUpdatedImpl());
|
||||
this.impl.setSource(new GOMSourceImpl());
|
||||
this.impl.setPublished(new GOMPublishedImpl());
|
||||
this.impl.extensions.add(new GOMFeedImplTest.TestExtension());
|
||||
StringWriter stW = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(stW);
|
||||
this.impl.writeAtomOutput(writer);
|
||||
String string = stW.toString();
|
||||
assertTrue(string.contains("xmlns=\"http://www.w3.org/2005/Atom\""));
|
||||
assertTrue(string.startsWith("<" + GOMEntry.LOCALNAME));
|
||||
assertTrue(string.contains("<" + GOMAuthor.LOCALNAME));
|
||||
assertTrue(string.contains("<" + GOMCategory.LOCALNAME));
|
||||
assertTrue(string.contains("<" + GOMContributor.LOCALNAME));
|
||||
assertTrue(string.contains("<" + GOMLink.LOCALNAME));
|
||||
assertTrue(string.contains("<" + GOMId.LOCALNAME));
|
||||
assertTrue(string.contains("<" + GOMRights.LOCALNAME));
|
||||
assertTrue(string.contains("<" + GOMSummary.LOCALNAME));
|
||||
assertTrue(string.contains("<" + GOMContent.LOCALNAME));
|
||||
assertTrue(string.contains("<" + GOMTitle.LOCALNAME));
|
||||
assertTrue(string.contains("<" + GOMUpdated.LOCALNAME));
|
||||
assertTrue(string.contains("<" + GOMSource.LOCALNAME));
|
||||
assertTrue(string.contains("<" + GOMPublished.LOCALNAME));
|
||||
assertTrue(string.contains("<test"));
|
||||
assertTrue(string.endsWith("</entry>"));
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMEntryImpl.writeRssOutput(GOMOutputWriter)'
|
||||
*/
|
||||
public void testWriteRssOutputGOMOutputWriter() throws XMLStreamException,
|
||||
FactoryConfigurationError {
|
||||
// write a whole feed and check if all elements are written
|
||||
this.impl.addAuthor(new GOMAuthorImpl());
|
||||
this.impl.addCategory(new GOMCategoryImpl());
|
||||
this.impl.addContributor(new GOMContributorImpl());
|
||||
GOMLink link = new GOMLinkImpl();
|
||||
link.setRel("enclosure");
|
||||
link.setHref("test");
|
||||
link.setType("testType");
|
||||
this.impl.addLink(link);
|
||||
this.impl.setContent(new GOMContentImpl());
|
||||
this.impl.setId(new GOMIdImpl());
|
||||
this.impl.setRights(new GOMRightsImpl());
|
||||
GOMSummaryImpl summ = new GOMSummaryImpl();
|
||||
summ.xmlLang = "de";
|
||||
this.impl.setSummary(summ);
|
||||
this.impl.setTitle(new GOMTitleImpl());
|
||||
this.impl.setUpdated(new GOMUpdatedImpl());
|
||||
this.impl.setSource(new GOMSourceImpl());
|
||||
this.impl.setPublished(new GOMPublishedImpl());
|
||||
this.impl.extensions.add(new GOMFeedImplTest.TestExtension());
|
||||
StringWriter stW = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(stW);
|
||||
this.impl.writeRssOutput(writer);
|
||||
String string = stW.toString();
|
||||
assertTrue(string
|
||||
.contains("xmlns:atom=\"http://www.w3.org/2005/Atom\""));
|
||||
assertTrue(string.startsWith("<" + GOMEntry.LOCALNAME_RSS));
|
||||
assertTrue(string.contains("<" + GOMId.LOCALNAME_RSS));
|
||||
assertTrue(string.contains("<pubDate"));
|
||||
assertTrue(string.contains("<atom:" + GOMUpdated.LOCALNAME));
|
||||
assertTrue(string.contains("<" + GOMId.LOCALNAME_RSS));
|
||||
assertTrue(string.contains("<language"));
|
||||
assertTrue(string.contains("<category domain=\""));
|
||||
assertTrue(string.contains("<title"));
|
||||
assertTrue(string.contains("<atom:summary"));
|
||||
assertTrue(string.contains("<description"));
|
||||
// a link element
|
||||
assertTrue(string.contains("<enclosure"));
|
||||
assertTrue(string.contains("<author"));
|
||||
assertTrue(string.contains("<atom:test"));
|
||||
assertTrue(string.endsWith("</item>"));
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMEntryImpl.getExtensions()'
|
||||
*/
|
||||
public void testGetExtensions() {
|
||||
|
||||
{
|
||||
List<GOMExtension> extensions = this.impl.getExtensions();
|
||||
assertNotNull(extensions);
|
||||
assertEquals(0, extensions.size());
|
||||
}
|
||||
QName name = new QName(TEST_LOCAL_NAME);
|
||||
this.impl.setExtensionFactory(new TestExtendsionFactory());
|
||||
|
||||
AtomParser childParser = this.impl.getChildParser(name);
|
||||
assertTrue(childParser instanceof TestExtension);
|
||||
List<GOMExtension> extensions = this.impl.getExtensions();
|
||||
assertNotNull(extensions);
|
||||
assertEquals(1, extensions.size());
|
||||
assertSame(childParser, extensions.get(0));
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMEntryImpl.setExtensionFactory(GOMExtensionFactory)'
|
||||
*/
|
||||
public void testSetExtensionFactory() {
|
||||
QName name = new QName(TEST_LOCAL_NAME);
|
||||
try {
|
||||
this.impl.getChildParser(name);
|
||||
fail("no child hander for this qname");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
this.impl.setExtensionFactory(new TestExtendsionFactory());
|
||||
|
||||
AtomParser childParser = this.impl.getChildParser(name);
|
||||
assertTrue(childParser instanceof TestExtension);
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,688 @@
|
|||
package org.apache.lucene.gdata.gom.core;
|
||||
|
||||
import java.io.StringWriter;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
import javax.xml.stream.FactoryConfigurationError;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import org.apache.lucene.gdata.gom.GOMAuthor;
|
||||
import org.apache.lucene.gdata.gom.GOMCategory;
|
||||
import org.apache.lucene.gdata.gom.GOMContributor;
|
||||
import org.apache.lucene.gdata.gom.GOMElement;
|
||||
import org.apache.lucene.gdata.gom.GOMEntry;
|
||||
import org.apache.lucene.gdata.gom.GOMExtension;
|
||||
import org.apache.lucene.gdata.gom.GOMFeed;
|
||||
import org.apache.lucene.gdata.gom.GOMGenerator;
|
||||
import org.apache.lucene.gdata.gom.GOMIcon;
|
||||
import org.apache.lucene.gdata.gom.GOMId;
|
||||
import org.apache.lucene.gdata.gom.GOMLink;
|
||||
import org.apache.lucene.gdata.gom.GOMLogo;
|
||||
import org.apache.lucene.gdata.gom.GOMNamespace;
|
||||
import org.apache.lucene.gdata.gom.GOMRights;
|
||||
import org.apache.lucene.gdata.gom.GOMSubtitle;
|
||||
import org.apache.lucene.gdata.gom.GOMTitle;
|
||||
import org.apache.lucene.gdata.gom.GOMUpdated;
|
||||
import org.apache.lucene.gdata.gom.core.extension.GOMExtensionFactory;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMStaxWriter;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
public class GOMFeedImplTest extends TestCase {
|
||||
static final String TEST_LOCAL_NAME = "testelement";
|
||||
|
||||
GOMFeedImpl impl;
|
||||
|
||||
protected void setUp() throws Exception {
|
||||
this.impl = new GOMFeedImpl();
|
||||
}
|
||||
|
||||
public void testSetNamespace() {
|
||||
assertEquals(0, this.impl.getNamespaces().size());
|
||||
assertNotNull(this.impl.getDefaultNamespace());
|
||||
this.impl.addNamespace(GOMNamespace.ATOM_NAMESPACE);
|
||||
assertSame(GOMNamespace.ATOM_NAMESPACE, this.impl.getDefaultNamespace());
|
||||
this.impl.addNamespace(GOMNamespace.OPENSEARCH_NAMESPACE);
|
||||
assertEquals(1, this.impl.getNamespaces().size());
|
||||
assertSame(GOMNamespace.OPENSEARCH_NAMESPACE, this.impl.getNamespaces()
|
||||
.get(0));
|
||||
|
||||
// detect defaul ns
|
||||
this.impl.addNamespace(new GOMNamespace(GOMNamespace.ATOM_NS_URI, ""));
|
||||
assertEquals(1, this.impl.getNamespaces().size());
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMFeedImpl.getChildParser(QName)'
|
||||
*/
|
||||
public void testGetChildParser() {
|
||||
|
||||
{
|
||||
// atomAuthor*
|
||||
AtomParser parser = this.impl.getChildParser(new QName(
|
||||
GOMNamespace.ATOM_NS_URI, "author"));
|
||||
assertNotNull(parser);
|
||||
assertTrue(parser instanceof GOMAuthor);
|
||||
assertEquals(1, this.impl.getAuthors().size());
|
||||
this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,
|
||||
"author"));
|
||||
assertEquals(2, this.impl.getAuthors().size());
|
||||
}
|
||||
|
||||
{
|
||||
// atomCategory*
|
||||
AtomParser parser = this.impl.getChildParser(new QName(
|
||||
GOMNamespace.ATOM_NS_URI, "category"));
|
||||
assertNotNull(parser);
|
||||
assertTrue(parser instanceof GOMCategory);
|
||||
assertEquals(1, this.impl.getCategories().size());
|
||||
this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,
|
||||
"category"));
|
||||
assertEquals(2, this.impl.getCategories().size());
|
||||
}
|
||||
|
||||
{
|
||||
// atomContributor*
|
||||
AtomParser parser = this.impl.getChildParser(new QName(
|
||||
GOMNamespace.ATOM_NS_URI, "contributor"));
|
||||
assertNotNull(parser);
|
||||
assertTrue(parser instanceof GOMContributor);
|
||||
assertEquals(1, this.impl.getContributor().size());
|
||||
this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,
|
||||
"contributor"));
|
||||
assertEquals(2, this.impl.getContributor().size());
|
||||
}
|
||||
{
|
||||
// atomGenerator?
|
||||
AtomParser parser = this.impl.getChildParser(new QName(
|
||||
GOMNamespace.ATOM_NS_URI, "generator"));
|
||||
assertNotNull(parser);
|
||||
assertTrue(parser instanceof GOMGenerator);
|
||||
assertSame(parser, this.impl.getGenerator());
|
||||
try {
|
||||
this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,
|
||||
"generator"));
|
||||
fail("one or zero");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
// atomIcon?
|
||||
AtomParser parser = this.impl.getChildParser(new QName(
|
||||
GOMNamespace.ATOM_NS_URI, "icon"));
|
||||
assertNotNull(parser);
|
||||
assertTrue(parser instanceof GOMIcon);
|
||||
assertSame(parser, this.impl.getIcon());
|
||||
try {
|
||||
this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,
|
||||
"icon"));
|
||||
fail("one or zero");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
{
|
||||
// atomId
|
||||
AtomParser parser = this.impl.getChildParser(new QName(
|
||||
GOMNamespace.ATOM_NS_URI, "id"));
|
||||
assertNotNull(parser);
|
||||
assertTrue(parser instanceof GOMId);
|
||||
assertSame(parser, this.impl.getId());
|
||||
try {
|
||||
this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,
|
||||
"id"));
|
||||
fail("exactly one time ");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
{
|
||||
// atomLink*
|
||||
AtomParser parser = this.impl.getChildParser(new QName(
|
||||
GOMNamespace.ATOM_NS_URI, "link"));
|
||||
assertNotNull(parser);
|
||||
assertTrue(parser instanceof GOMLink);
|
||||
assertEquals(1, this.impl.getLinks().size());
|
||||
this.impl
|
||||
.getChildParser(new QName(GOMNamespace.ATOM_NS_URI, "link"));
|
||||
assertEquals(2, this.impl.getLinks().size());
|
||||
|
||||
}
|
||||
|
||||
{
|
||||
// atomLogo?
|
||||
AtomParser parser = this.impl.getChildParser(new QName(
|
||||
GOMNamespace.ATOM_NS_URI, "logo"));
|
||||
assertNotNull(parser);
|
||||
assertTrue(parser instanceof GOMLogo);
|
||||
assertSame(parser, this.impl.getLogo());
|
||||
try {
|
||||
this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,
|
||||
"logo"));
|
||||
fail("zero or one");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
{
|
||||
// atomRights?
|
||||
AtomParser parser = this.impl.getChildParser(new QName(
|
||||
GOMNamespace.ATOM_NS_URI, "rights"));
|
||||
assertNotNull(parser);
|
||||
assertTrue(parser instanceof GOMRights);
|
||||
assertSame(parser, this.impl.getRights());
|
||||
try {
|
||||
this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,
|
||||
"rights"));
|
||||
fail("zero or one");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
{
|
||||
// atomSubtitle?
|
||||
AtomParser parser = this.impl.getChildParser(new QName(
|
||||
GOMNamespace.ATOM_NS_URI, "subtitle"));
|
||||
assertNotNull(parser);
|
||||
assertTrue(parser instanceof GOMSubtitle);
|
||||
assertSame(parser, this.impl.getSubtitle());
|
||||
try {
|
||||
this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,
|
||||
"subtitle"));
|
||||
fail("zero or one");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
{
|
||||
// atomTitle
|
||||
AtomParser parser = this.impl.getChildParser(new QName(
|
||||
GOMNamespace.ATOM_NS_URI, "title"));
|
||||
assertNotNull(parser);
|
||||
assertTrue(parser instanceof GOMTitle);
|
||||
assertSame(parser, this.impl.getTitle());
|
||||
try {
|
||||
this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,
|
||||
"title"));
|
||||
fail("exactly one time ");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
{
|
||||
// atomUpdated
|
||||
AtomParser parser = this.impl.getChildParser(new QName(
|
||||
GOMNamespace.ATOM_NS_URI, "updated"));
|
||||
assertNotNull(parser);
|
||||
assertTrue(parser instanceof GOMUpdated);
|
||||
assertSame(parser, this.impl.getUpdated());
|
||||
try {
|
||||
this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,
|
||||
"updated"));
|
||||
fail("exactly one time ");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
{
|
||||
// atomEntry*
|
||||
AtomParser parser = this.impl.getChildParser(new QName(
|
||||
GOMNamespace.ATOM_NS_URI, "entry"));
|
||||
assertNotNull(parser);
|
||||
assertTrue(parser instanceof GOMEntry);
|
||||
assertEquals(1, this.impl.getEntries().size());
|
||||
this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,
|
||||
"entry"));
|
||||
assertEquals(2, this.impl.getEntries().size());
|
||||
|
||||
}
|
||||
|
||||
// openSearch
|
||||
{
|
||||
// startIndex
|
||||
AtomParser parser = this.impl.getChildParser(new QName(
|
||||
GOMNamespace.OPENSEARCH_NS_URI, "startIndex"));
|
||||
assertNotNull(parser);
|
||||
|
||||
}
|
||||
{
|
||||
// startIndex
|
||||
AtomParser parser = this.impl.getChildParser(new QName(
|
||||
GOMNamespace.OPENSEARCH_NS_URI, "itemsPerPage"));
|
||||
assertNotNull(parser);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMFeedImpl.processElementValue(String)'
|
||||
*/
|
||||
public void testProcessElementValue() {
|
||||
try {
|
||||
this.impl.processElementValue("some");
|
||||
fail("no element text");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMFeedImpl.processEndElement()'
|
||||
*
|
||||
* atomFeed = element atom:feed { atomCommonAttributes, (atomAuthor* &
|
||||
* atomCategory* & atomContributor* & atomGenerator? & atomIcon? & atomId &
|
||||
* atomLink* & atomLogo? & atomRights? & atomSubtitle? & atomTitle &
|
||||
* atomUpdated & extensionElement*), atomEntry* }
|
||||
*/
|
||||
public void testProcessEndElement() {
|
||||
this.impl.addAuthor(new GOMAuthorImpl());
|
||||
this.impl.setId(new GOMIdImpl());
|
||||
this.impl.setUpdated(new GOMUpdatedImpl());
|
||||
this.impl.setTitle(new GOMTitleImpl());
|
||||
|
||||
this.impl.processEndElement();
|
||||
{
|
||||
// author missing
|
||||
this.impl.getAuthors().clear();
|
||||
try {
|
||||
this.impl.processEndElement();
|
||||
fail("missing elements");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
this.impl.addAuthor(new GOMAuthorImpl());
|
||||
}
|
||||
|
||||
{
|
||||
// id missing
|
||||
this.impl.setId(null);
|
||||
try {
|
||||
this.impl.processEndElement();
|
||||
fail("missing elements");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
this.impl.setId(new GOMIdImpl());
|
||||
}
|
||||
|
||||
{
|
||||
// title missing
|
||||
this.impl.setTitle(null);
|
||||
try {
|
||||
this.impl.processEndElement();
|
||||
fail("missing elements");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
this.impl.setTitle(new GOMTitleImpl());
|
||||
}
|
||||
{
|
||||
// updated missing
|
||||
this.impl.setUpdated(null);
|
||||
try {
|
||||
this.impl.processEndElement();
|
||||
fail("missing elements");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
this.impl.setUpdated(new GOMUpdatedImpl());
|
||||
}
|
||||
|
||||
/*
|
||||
* atom:feed elements MUST NOT contain more than one atom:link element
|
||||
* with a rel attribute value of "alternate" that has the same
|
||||
* combination of type and hreflang attribute values.
|
||||
*/
|
||||
|
||||
{
|
||||
// two identical alternate links missing
|
||||
GOMLink link = new GOMLinkImpl();
|
||||
link.setRel("alternate");
|
||||
link.setHrefLang("http://www.apache.org");
|
||||
link.setType("text/html");
|
||||
this.impl.addLink(link);
|
||||
// one is allowed
|
||||
this.impl.processEndElement();
|
||||
// add a second link
|
||||
link = new GOMLinkImpl();
|
||||
this.impl.addLink(link);
|
||||
link.setRel("next");
|
||||
link.setHrefLang("http://www.apache.org");
|
||||
link.setType("text/html");
|
||||
// one is alternate the other is next
|
||||
this.impl.processEndElement();
|
||||
|
||||
// a second "identical" alternate link
|
||||
link = new GOMLinkImpl();
|
||||
this.impl.addLink(link);
|
||||
link.setRel("alternate");
|
||||
link.setHrefLang("http://www.apache.org");
|
||||
link.setType("text/html");
|
||||
try {
|
||||
this.impl.processEndElement();
|
||||
fail("missing elements");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
this.impl.setUpdated(new GOMUpdatedImpl());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMFeedImpl.GOMFeedImpl()'
|
||||
*/
|
||||
public void testGOMFeedImpl() {
|
||||
GOMFeedImpl impl2 = new GOMFeedImpl();
|
||||
assertEquals(GOMFeed.LOCALNAME, impl2.getLocalName());
|
||||
assertEquals(GOMFeed.LOCALNAME, impl2.getQname().getLocalPart());
|
||||
assertEquals(GOMNamespace.ATOM_NS_URI, impl2.getQname()
|
||||
.getNamespaceURI());
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMFeedImpl.getStartIndex()' and
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMFeedImpl.setStartIndex(int)'
|
||||
*/
|
||||
public void testGetSetStartIndex() {
|
||||
assertEquals(GOMFeedImpl.DEFAULT_START_INDEX, this.impl.getStartIndex());
|
||||
this.impl.setStartIndex(5);
|
||||
assertEquals(5, this.impl.getStartIndex());
|
||||
this.impl.setStartIndex(-5);
|
||||
assertEquals(5, this.impl.getStartIndex());
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMFeedImpl.setItemsPerPage(int)' and
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMFeedImpl.getNamespaces()'
|
||||
*/
|
||||
public void testGetSetItemsPerPage() {
|
||||
assertEquals(GOMFeedImpl.DEFAULT_ITEMS_PER_PAGE, this.impl
|
||||
.getItemsPerPage());
|
||||
this.impl.setItemsPerPage(5);
|
||||
assertEquals(5, this.impl.getItemsPerPage());
|
||||
this.impl.setItemsPerPage(-5);
|
||||
assertEquals(5, this.impl.getItemsPerPage());
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMFeedImpl.writeAtomOutput(GOMWriter)'
|
||||
*/
|
||||
public void testWriteAtomOutput() throws XMLStreamException,
|
||||
FactoryConfigurationError {
|
||||
// write a whole feed and check if all elements are written
|
||||
this.impl.addAuthor(new GOMAuthorImpl());
|
||||
this.impl.addCategory(new GOMCategoryImpl());
|
||||
this.impl.addContributor(new GOMContributorImpl());
|
||||
this.impl.addLink(new GOMLinkImpl());
|
||||
this.impl.addNamespace(GOMNamespace.OPENSEARCH_NAMESPACE);
|
||||
this.impl.setGenerator(new GOMGeneratorImpl());
|
||||
this.impl.setIcon(new GOMIconImpl());
|
||||
this.impl.setId(new GOMIdImpl());
|
||||
this.impl.setLogo(new GOMLogoImpl());
|
||||
this.impl.setRights(new GOMRightsImpl());
|
||||
this.impl.setSubtitle(new GOMSubtitleImpl());
|
||||
this.impl.setTitle(new GOMTitleImpl());
|
||||
this.impl.setUpdated(new GOMUpdatedImpl());
|
||||
this.impl.extensions.add(new TestExtension());
|
||||
this.impl.addNamespace(GOMNamespace.OPENSEARCH_NAMESPACE);
|
||||
StringWriter stW = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(stW);
|
||||
this.impl.writeAtomOutput(writer);
|
||||
String string = stW.toString();
|
||||
assertTrue(string.contains("xmlns:openSearch"));
|
||||
assertTrue(string.contains("xmlns=\"http://www.w3.org/2005/Atom\""));
|
||||
assertTrue(string.contains("<" + GOMAuthor.LOCALNAME));
|
||||
assertTrue(string.contains("<" + GOMCategory.LOCALNAME));
|
||||
assertTrue(string.contains("<" + GOMContributor.LOCALNAME));
|
||||
assertTrue(string.contains("<" + GOMLink.LOCALNAME));
|
||||
assertTrue(string.contains("<" + GOMGenerator.LOCALNAME));
|
||||
assertTrue(string.contains("<" + GOMIcon.LOCALNAME));
|
||||
assertTrue(string.contains("<" + GOMId.LOCALNAME));
|
||||
assertTrue(string.contains("<" + GOMLogo.LOCALNAME));
|
||||
assertTrue(string.contains("<" + GOMRights.LOCALNAME));
|
||||
assertTrue(string.contains("<" + GOMSubtitle.LOCALNAME));
|
||||
assertTrue(string.contains("<" + GOMTitle.LOCALNAME));
|
||||
assertTrue(string.contains("<" + GOMUpdated.LOCALNAME));
|
||||
assertTrue(string.contains("<openSearch:itemsPerPage>"));
|
||||
assertTrue(string.contains("<openSearch:startIndex>"));
|
||||
assertTrue(string.contains("<test"));
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMFeedImpl.writeRssOutput(GOMWriter)'
|
||||
*/
|
||||
public void testWriteRssOutput() throws XMLStreamException,
|
||||
FactoryConfigurationError {
|
||||
// write a whole feed and check if all elements are written
|
||||
this.impl.addAuthor(new GOMAuthorImpl());
|
||||
this.impl.addCategory(new GOMCategoryImpl());
|
||||
this.impl.addContributor(new GOMContributorImpl());
|
||||
GOMLinkImpl impl2 = new GOMLinkImpl();
|
||||
impl2.setHref("test");
|
||||
impl2.setRel("alternate");
|
||||
this.impl.addLink(impl2);
|
||||
this.impl.addNamespace(GOMNamespace.OPENSEARCH_NAMESPACE);
|
||||
this.impl.setGenerator(new GOMGeneratorImpl());
|
||||
this.impl.setIcon(new GOMIconImpl());
|
||||
this.impl.setId(new GOMIdImpl());
|
||||
this.impl.setLogo(new GOMLogoImpl());
|
||||
this.impl.setRights(new GOMRightsImpl());
|
||||
this.impl.setSubtitle(new GOMSubtitleImpl());
|
||||
this.impl.setTitle(new GOMTitleImpl());
|
||||
this.impl.setUpdated(new GOMUpdatedImpl());
|
||||
this.impl.addNamespace(GOMNamespace.ATOM_NAMESPACE);
|
||||
this.impl.addNamespace(GOMNamespace.OPENSEARCH_NAMESPACE);
|
||||
this.impl.extensions.add(new TestExtension());
|
||||
StringWriter stW = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(stW);
|
||||
this.impl.writeRssOutput(writer);
|
||||
|
||||
String string = stW.toString();
|
||||
assertTrue(string.contains("xmlns:openSearch"));
|
||||
assertTrue(string.contains("xmlns:atom"));
|
||||
// TODO
|
||||
// assertTrue(string.contains("<language"));
|
||||
assertTrue(string.contains("<" + GOMCategory.LOCALNAME));
|
||||
// author
|
||||
assertTrue(string.contains("<managingEditor"));
|
||||
assertTrue(string.contains("<" + GOMLink.LOCALNAME));
|
||||
assertTrue(string.contains("<" + GOMGenerator.LOCALNAME));
|
||||
assertTrue(string.contains("<image><url"));
|
||||
assertTrue(string.contains("<atom:" + GOMId.LOCALNAME));
|
||||
|
||||
assertTrue(string.contains("<copyright"));
|
||||
assertTrue(string.contains("<" + GOMTitle.LOCALNAME));
|
||||
assertTrue(string.contains("<lastBuildDate"));
|
||||
assertTrue(string.contains("<openSearch:itemsPerPage>"));
|
||||
assertTrue(string.contains("<openSearch:startIndex>"));
|
||||
assertTrue(string.contains("<atom:test"));
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMFeedImpl.getExtensions()'
|
||||
*/
|
||||
public void testGetExtensions() {
|
||||
|
||||
{
|
||||
List<GOMExtension> extensions = this.impl.getExtensions();
|
||||
assertNotNull(extensions);
|
||||
assertEquals(0, extensions.size());
|
||||
}
|
||||
QName name = new QName(TEST_LOCAL_NAME);
|
||||
this.impl.setExtensionFactory(new TestExtendsionFactory());
|
||||
|
||||
AtomParser childParser = this.impl.getChildParser(name);
|
||||
assertTrue(childParser instanceof TestExtension);
|
||||
List<GOMExtension> extensions = this.impl.getExtensions();
|
||||
assertNotNull(extensions);
|
||||
assertEquals(1, extensions.size());
|
||||
assertSame(childParser, extensions.get(0));
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMFeedImpl.setExtensionFactory(GOMExtensionFactory)'
|
||||
*/
|
||||
public void testSetExtensionFactory() {
|
||||
QName name = new QName(TEST_LOCAL_NAME);
|
||||
try {
|
||||
this.impl.getChildParser(name);
|
||||
fail("no child hander for this qname");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
this.impl.setExtensionFactory(new TestExtendsionFactory());
|
||||
|
||||
AtomParser childParser = this.impl.getChildParser(name);
|
||||
assertTrue(childParser instanceof TestExtension);
|
||||
|
||||
}
|
||||
|
||||
static class TestExtendsionFactory implements GOMExtensionFactory {
|
||||
|
||||
public GOMExtension canHandleExtensionElement(QName aName) {
|
||||
if (aName.getLocalPart().equals(TEST_LOCAL_NAME))
|
||||
return new TestExtension();
|
||||
return null;
|
||||
}
|
||||
|
||||
public List<GOMNamespace> getNamespaces() {
|
||||
LinkedList<GOMNamespace> name = new LinkedList<GOMNamespace>();
|
||||
name.add(GOMNamespace.ATOM_NAMESPACE);
|
||||
return name;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static class TestExtension implements GOMExtension {
|
||||
|
||||
public QName getQname() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
public void setNamespaceUri(String aString) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
public void setNamespacePrefix(String aString) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
public void setLocalName(String aLocalName) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
public String getLocalName() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
public String getTextValue() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
public void setTextValue(String aTextValue) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
public void addChild(GOMElement aElement) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
public GOMElement getParent() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
public void writeAtomOutput(GOMOutputWriter aStreamWriter)
|
||||
throws XMLStreamException {
|
||||
aStreamWriter.writeSimpleXMLElement("test", null, "helloworld");
|
||||
|
||||
}
|
||||
|
||||
public void writeRssOutput(GOMOutputWriter aStreamWriter)
|
||||
throws XMLStreamException {
|
||||
aStreamWriter.writeSimpleXMLElement(new QName(
|
||||
GOMNamespace.ATOM_NS_URI, "test",
|
||||
GOMNamespace.ATOM_NS_PREFIX), null, "helloworld");
|
||||
|
||||
}
|
||||
|
||||
public void processElementValue(String aValue) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
public void processAttribute(QName aQName, String aValue) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
public void processEndElement() {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
public AtomParser getChildParser(QName aName) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
public void writeRssOutput(GOMOutputWriter aStreamWriter,
|
||||
String aRssName) throws XMLStreamException {
|
||||
|
||||
}
|
||||
|
||||
public String getXmlBase() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
public String getXmlLang() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,204 @@
|
|||
package org.apache.lucene.gdata.gom.core;
|
||||
|
||||
import java.io.StringWriter;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
import javax.xml.stream.FactoryConfigurationError;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import org.apache.lucene.gdata.gom.GOMGenerator;
|
||||
import org.apache.lucene.gdata.gom.GOMNamespace;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMStaxWriter;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
public class GOMGenereatorImplTest extends TestCase {
|
||||
private GOMGeneratorImpl impl;
|
||||
|
||||
protected void setUp() throws Exception {
|
||||
this.impl = new GOMGeneratorImpl();
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMGeneratorImpl.processAttribute(QName,
|
||||
* String)'
|
||||
*/
|
||||
public void testProcessAttribute() {
|
||||
this.impl.processAttribute(new QName(GOMNamespace.ATOM_NS_URI, "uri"),
|
||||
"test");
|
||||
assertEquals("test", this.impl.getUri());
|
||||
try {
|
||||
this.impl.processAttribute(new QName(GOMNamespace.ATOM_NS_URI,
|
||||
"uri"), "test");
|
||||
fail("duplicated");
|
||||
} catch (GDataParseException e) {
|
||||
|
||||
}
|
||||
this.impl.processAttribute(new QName(GOMNamespace.ATOM_NS_URI,
|
||||
"version"), "test");
|
||||
assertEquals("test", this.impl.getGeneratorVersion());
|
||||
|
||||
try {
|
||||
this.impl.processAttribute(new QName(GOMNamespace.ATOM_NS_URI,
|
||||
"version"), "test");
|
||||
fail("duplicated");
|
||||
} catch (GDataParseException e) {
|
||||
|
||||
}
|
||||
|
||||
// check call to super.processAttribute
|
||||
this.impl.processAttribute(new QName(GOMNamespace.XML_NS_URI, "base",
|
||||
GOMNamespace.XML_NS_PREFIX), "test");
|
||||
assertEquals("test", this.impl.xmlBase);
|
||||
|
||||
try {
|
||||
this.impl.processAttribute(null, "test");
|
||||
fail("qname is null");
|
||||
} catch (IllegalArgumentException e) {
|
||||
//
|
||||
}
|
||||
try {
|
||||
this.impl.processAttribute(new QName(GOMNamespace.XML_NS_URI,
|
||||
"base", GOMNamespace.XML_NS_PREFIX), null);
|
||||
fail("value is null");
|
||||
} catch (IllegalArgumentException e) {
|
||||
//
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMGeneratorImpl.processElementValue(String)'
|
||||
*/
|
||||
public void testProcessElementValue() {
|
||||
this.impl.processElementValue("myGenerator");
|
||||
assertEquals("myGenerator", this.impl.getTextValue());
|
||||
|
||||
try {
|
||||
this.impl.processElementValue("testme");
|
||||
fail("duplicated");
|
||||
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMGeneratorImpl.processEndElement()'
|
||||
*/
|
||||
public void testProcessEndElement() {
|
||||
this.impl.processEndElement();
|
||||
{
|
||||
this.impl.setUri("some invalid uri");
|
||||
try {
|
||||
this.impl.processEndElement();
|
||||
fail("must be an absolute uri");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
}
|
||||
{
|
||||
this.impl.setUri("/uri");
|
||||
try {
|
||||
this.impl.processEndElement();
|
||||
fail("must be an absolute uri or xml:base must be set");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
}
|
||||
this.impl.xmlBase = "http://apache.org";
|
||||
this.impl.processEndElement();
|
||||
|
||||
this.impl.xmlBase = null;
|
||||
this.impl.setUri("http://apache.org/uri");
|
||||
this.impl.processEndElement();
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMGeneratorImpl.GOMGeneratorImpl()'
|
||||
*/
|
||||
public void testGOMGeneratorImpl() {
|
||||
this.impl = new GOMGeneratorImpl();
|
||||
assertEquals(GOMGenerator.LOCALNAME, this.impl.getLocalName());
|
||||
assertEquals(GOMGenerator.LOCALNAME, this.impl.getQname()
|
||||
.getLocalPart());
|
||||
assertEquals(GOMNamespace.ATOM_NS_URI, this.impl.getQname()
|
||||
.getNamespaceURI());
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMGeneratorImpl.writeAtomOutput(GOMWriter)'
|
||||
*/
|
||||
public void testWriteAtomOutput() throws XMLStreamException {
|
||||
{
|
||||
StringWriter stW = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(stW);
|
||||
this.impl.writeAtomOutput(writer);
|
||||
assertEquals("<" + this.impl.getLocalName() + "/>", stW.toString());
|
||||
}
|
||||
|
||||
{
|
||||
StringWriter stW = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(stW);
|
||||
this.impl.setTextValue("Lucene");
|
||||
this.impl.writeAtomOutput(writer);
|
||||
assertEquals("<" + this.impl.getLocalName() + ">Lucene</"
|
||||
+ this.impl.getLocalName() + ">", stW.toString());
|
||||
}
|
||||
{
|
||||
StringWriter stW = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(stW);
|
||||
this.impl.setUri("http://apache.org");
|
||||
this.impl.writeAtomOutput(writer);
|
||||
assertEquals("<" + this.impl.getLocalName()
|
||||
+ " uri=\"http://apache.org\">Lucene</"
|
||||
+ this.impl.getLocalName() + ">", stW.toString());
|
||||
}
|
||||
|
||||
{
|
||||
StringWriter stW = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(stW);
|
||||
this.impl.setGeneratorVersion("1");
|
||||
this.impl.writeAtomOutput(writer);
|
||||
assertEquals("<" + this.impl.getLocalName()
|
||||
+ " uri=\"http://apache.org\" version=\"1\">Lucene</"
|
||||
+ this.impl.getLocalName() + ">", stW.toString());
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMGeneratorImpl.writeRssOutput(GOMWriter)'
|
||||
*/
|
||||
public void testWriteRssOutput() throws XMLStreamException,
|
||||
FactoryConfigurationError {
|
||||
{
|
||||
StringWriter stW = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(stW);
|
||||
this.impl.setTextValue("Lucene");
|
||||
this.impl.writeRssOutput(writer);
|
||||
assertEquals("<" + this.impl.getLocalName() + ">Lucene</"
|
||||
+ this.impl.getLocalName() + ">", stW.toString());
|
||||
}
|
||||
|
||||
{
|
||||
StringWriter stW = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(stW);
|
||||
this.impl.setUri("http://apache.org");
|
||||
this.impl.setGeneratorVersion("1");
|
||||
this.impl.writeRssOutput(writer);
|
||||
assertEquals("<" + this.impl.getLocalName() + ">Lucene</"
|
||||
+ this.impl.getLocalName() + ">", stW.toString());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,115 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import java.io.StringWriter;
|
||||
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMStaxWriter;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public class GOMIdImplTest extends TestCase {
|
||||
GOMIdImpl impl;
|
||||
|
||||
protected void setUp() throws Exception {
|
||||
this.impl = new GOMIdImpl();
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMIdImpl.writeAtomOutput(GOMOutputWriter)'
|
||||
*/
|
||||
public void testWriteAtomOutput() throws XMLStreamException {
|
||||
{
|
||||
StringWriter stW = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(stW);
|
||||
this.impl.writeAtomOutput(writer);
|
||||
|
||||
assertEquals("<id/>", stW.toString());
|
||||
}
|
||||
|
||||
{
|
||||
this.impl.setTextValue("testme");
|
||||
StringWriter stW = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(stW);
|
||||
this.impl.writeAtomOutput(writer);
|
||||
|
||||
assertEquals("<id>testme</id>", stW.toString());
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMIdImpl.writeRssOutput(GOMOutputWriter)'
|
||||
*/
|
||||
public void testWriteRssOutputGOMOutputWriter() throws XMLStreamException {
|
||||
{
|
||||
StringWriter stW = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(stW);
|
||||
this.impl.writeRssOutput(writer);
|
||||
|
||||
assertEquals("<atom:id/>", stW.toString());
|
||||
}
|
||||
|
||||
{
|
||||
this.impl.setTextValue("testme");
|
||||
StringWriter stW = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(stW);
|
||||
this.impl.writeRssOutput(writer);
|
||||
|
||||
assertEquals("<atom:id>testme</atom:id>", stW.toString());
|
||||
|
||||
}
|
||||
|
||||
{
|
||||
this.impl.setTextValue("testme");
|
||||
StringWriter stW = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(stW);
|
||||
this.impl.writeRssOutput(writer, "guid");
|
||||
|
||||
assertEquals("<guid>testme</guid>", stW.toString());
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void testProcessElementValue() {
|
||||
this.impl.processElementValue("test");
|
||||
assertEquals("test", this.impl.getTextValue());
|
||||
}
|
||||
|
||||
public void testProcessEndElement() {
|
||||
try {
|
||||
this.impl.processEndElement();
|
||||
fail("not set");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
this.impl.setTextValue("testme");
|
||||
this.impl.processEndElement();
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,239 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import java.io.StringWriter;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import org.apache.lucene.gdata.gom.GOMLink;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMStaxWriter;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public class GOMLinkImplTest extends TestCase {
|
||||
|
||||
private GOMLinkImpl impl;
|
||||
|
||||
/**
|
||||
* @see junit.framework.TestCase#setUp()
|
||||
*/
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
impl = new GOMLinkImpl();
|
||||
}
|
||||
|
||||
public void testCommonFields() {
|
||||
assertNotNull(this.impl.getQname());
|
||||
QName qname = this.impl.getQname();
|
||||
assertEquals(qname, new QName(GOMLink.LOCALNAME));
|
||||
assertEquals(qname.getLocalPart(), this.impl.getLocalName());
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMLinkImpl.processAttribute(QName,
|
||||
* String)'
|
||||
*/
|
||||
public void testProcessAttribute() {
|
||||
// title
|
||||
this.impl.processAttribute(new QName("title"), "title");
|
||||
assertEquals("title", this.impl.getTitle());
|
||||
try {
|
||||
this.impl.processAttribute(new QName("title"), "title");
|
||||
fail("duplicated attribute");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
// hreflang
|
||||
this.impl.processAttribute(new QName("hreflang"), "hreflang");
|
||||
assertEquals("hreflang", this.impl.getHrefLang());
|
||||
try {
|
||||
this.impl.processAttribute(new QName("hreflang"), "hreflang");
|
||||
fail("duplicated attribute");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
// href
|
||||
this.impl.processAttribute(new QName("href"), "href");
|
||||
assertEquals("href", this.impl.getHref());
|
||||
try {
|
||||
this.impl.processAttribute(new QName("href"), "href");
|
||||
fail("duplicated attribute");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
// type
|
||||
this.impl.processAttribute(new QName("type"), "type");
|
||||
assertEquals("type", this.impl.getType());
|
||||
try {
|
||||
this.impl.processAttribute(new QName("type"), "type");
|
||||
fail("duplicated attribute");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
// lenght
|
||||
try {
|
||||
this.impl.processAttribute(new QName("length"), "noint");
|
||||
fail("must be an integer");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
this.impl.processAttribute(new QName("length"), "1");
|
||||
assertEquals(new Integer(1), this.impl.getLength());
|
||||
try {
|
||||
this.impl.processAttribute(new QName("length"), "1");
|
||||
fail("duplicated attribute");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
//
|
||||
// rel
|
||||
this.impl.processAttribute(new QName("rel"), "relation");
|
||||
assertEquals("relation", this.impl.getRel());
|
||||
try {
|
||||
this.impl.processAttribute(new QName("rel"), "relation");
|
||||
fail("duplicated attribute");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMLinkImpl.processEndElement()'
|
||||
*/
|
||||
public void testProcessEndElement() {
|
||||
try {
|
||||
this.impl.processEndElement();
|
||||
fail("href is requiered but not set");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
this.impl.setHref("/helloworld");
|
||||
try {
|
||||
this.impl.processEndElement();
|
||||
fail("href is not an absolute url");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
this.impl.xmlBase = "http://url";
|
||||
this.impl.processEndElement();
|
||||
this.impl.xmlBase = null;
|
||||
this.impl.setHref("http://www.apache.org");
|
||||
this.impl.processEndElement();
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMLinkImpl.writeAtomOutput(GOMWriter)'
|
||||
*/
|
||||
public void testWriteAtomOutput() throws XMLStreamException {
|
||||
{
|
||||
StringWriter strWriter = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(strWriter);
|
||||
this.impl.writeAtomOutput(writer);
|
||||
assertEquals("<link href=\"\"/>", strWriter.toString());
|
||||
}
|
||||
{
|
||||
StringWriter strWriter = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(strWriter);
|
||||
this.impl.setHref("test");
|
||||
this.impl.setHrefLang("test1");
|
||||
this.impl.setLength(2);
|
||||
this.impl.setRel("NEXT");
|
||||
this.impl.setTitle("myTitle");
|
||||
this.impl.setType("myType");
|
||||
this.impl.writeAtomOutput(writer);
|
||||
assertTrue(strWriter.toString().contains("href=\"test\""));
|
||||
assertTrue(strWriter.toString().contains("title=\"myTitle\""));
|
||||
assertTrue(strWriter.toString().contains("hreflang=\"test1\""));
|
||||
assertTrue(strWriter.toString().contains("type=\"myType\""));
|
||||
assertTrue(strWriter.toString().contains("rel=\"NEXT\""));
|
||||
assertTrue(strWriter.toString().contains("length=\"2\""));
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMLinkImpl.writeRssOutput(GOMWriter)'
|
||||
*/
|
||||
public void testWriteRssOutput() throws XMLStreamException {
|
||||
{
|
||||
StringWriter strWriter = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(strWriter);
|
||||
this.impl.writeRssOutput(writer);
|
||||
assertEquals("", strWriter.toString());
|
||||
}
|
||||
|
||||
{
|
||||
this.impl.setHref("test");
|
||||
this.impl.setType("testType");
|
||||
this.impl.setRel("enclosure");
|
||||
StringWriter strWriter = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(strWriter);
|
||||
this.impl.writeRssOutput(writer);
|
||||
assertEquals("<enclosure type=\"testType\" href=\"test\"/>",
|
||||
strWriter.toString());
|
||||
}
|
||||
|
||||
{
|
||||
this.impl.setRel("comments");
|
||||
StringWriter strWriter = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(strWriter);
|
||||
this.impl.writeRssOutput(writer);
|
||||
assertEquals("<comments>test</comments>", strWriter.toString());
|
||||
}
|
||||
|
||||
{
|
||||
this.impl.setRel("alternate");
|
||||
StringWriter strWriter = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(strWriter);
|
||||
this.impl.writeRssOutput(writer);
|
||||
assertEquals("<link>test</link>", strWriter.toString());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.AbstractGOMElement.processElementValue(String)'
|
||||
*/
|
||||
public void testProcessElementValue() {
|
||||
try {
|
||||
this.impl.processElementValue("hello world");
|
||||
fail("no content");
|
||||
} catch (GDataParseException e) {
|
||||
// TODO: handle exception
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,176 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import java.io.StringWriter;
|
||||
|
||||
import javax.naming.NameParser;
|
||||
import javax.xml.namespace.QName;
|
||||
import javax.xml.stream.FactoryConfigurationError;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import org.apache.lucene.gdata.gom.GOMNamespace;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMStaxWriter;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public class GOMPersonImplTest extends TestCase {
|
||||
|
||||
/**
|
||||
* @see junit.framework.TestCase#setUp()
|
||||
*/
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
// TODO Auto-generated method stub
|
||||
super.setUp();
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMPersonImpl.writeAtomOutput(GOMWriter)'
|
||||
*/
|
||||
public void testWriteAtomOutput() throws XMLStreamException,
|
||||
FactoryConfigurationError {
|
||||
StringWriter stW = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(stW);
|
||||
GOMPersonImpl impl = new GOMPersonImpl();
|
||||
impl.writeRssOutput(writer);
|
||||
writer.flush();
|
||||
writer.close();
|
||||
|
||||
// test with name
|
||||
stW = new StringWriter();
|
||||
writer = new GOMStaxWriter(stW);
|
||||
impl.setName("test");
|
||||
impl.writeAtomOutput(writer);
|
||||
writer.flush();
|
||||
assertEquals("<person><name>test</name></person>", stW.toString());
|
||||
|
||||
writer.close();
|
||||
|
||||
// test with name
|
||||
stW = new StringWriter();
|
||||
writer = new GOMStaxWriter(stW);
|
||||
impl.setEmail("simonw@apache.org");
|
||||
impl.setUri("http://www.apache.org");
|
||||
impl.writeAtomOutput(writer);
|
||||
writer.flush();
|
||||
assertEquals(
|
||||
"<person><name>test</name><email>simonw@apache.org</email><uri>http://www.apache.org</uri></person>",
|
||||
stW.toString());
|
||||
try {
|
||||
impl.writeAtomOutput(null);
|
||||
fail("must not be null");
|
||||
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMPersonImpl.writeRssOutput(GOMWriter)'
|
||||
*/
|
||||
public void testWriteRssOutput() throws XMLStreamException {
|
||||
StringWriter stW = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(stW);
|
||||
GOMPersonImpl impl = new GOMPersonImpl();
|
||||
impl.writeRssOutput(writer);
|
||||
writer.flush();
|
||||
assertEquals(0, stW.toString().length());
|
||||
}
|
||||
|
||||
public void testParseAtom() {
|
||||
GOMPersonImpl impl = new GOMPersonImpl();
|
||||
QName name = new QName(GOMNamespace.ATOM_NS_URI, "name");
|
||||
AtomParser childParser = impl.getChildParser(name);
|
||||
String nameValue = "simonw";
|
||||
{
|
||||
assertTrue(childParser instanceof GOMPersonImpl.NameParser);
|
||||
|
||||
childParser.processElementValue(nameValue);
|
||||
childParser.processEndElement();
|
||||
assertEquals(impl.getName(), nameValue);
|
||||
try {
|
||||
childParser.processElementValue(nameValue);
|
||||
childParser.processEndElement();
|
||||
fail("duplicated element");
|
||||
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
|
||||
}
|
||||
}
|
||||
{
|
||||
name = new QName(GOMNamespace.ATOM_NS_URI, "uri");
|
||||
childParser = impl.getChildParser(name);
|
||||
assertTrue(childParser instanceof GOMPersonImpl.UriParser);
|
||||
|
||||
childParser.processElementValue(nameValue);
|
||||
childParser.processEndElement();
|
||||
assertEquals(impl.getUri(), nameValue);
|
||||
|
||||
try {
|
||||
childParser.processElementValue(nameValue);
|
||||
childParser.processEndElement();
|
||||
fail("duplicated element");
|
||||
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
{
|
||||
name = new QName(GOMNamespace.ATOM_NS_URI, "email");
|
||||
childParser = impl.getChildParser(name);
|
||||
assertTrue(childParser instanceof GOMPersonImpl.EmailParser);
|
||||
|
||||
childParser.processElementValue(nameValue);
|
||||
childParser.processEndElement();
|
||||
assertEquals(impl.getEmail(), nameValue);
|
||||
|
||||
try {
|
||||
childParser.processElementValue(nameValue);
|
||||
childParser.processEndElement();
|
||||
fail("duplicated element");
|
||||
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void testProcessEndElement() {
|
||||
GOMPersonImpl impl = new GOMPersonImpl();
|
||||
try {
|
||||
impl.processEndElement();
|
||||
fail("name must be set");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,418 @@
|
|||
package org.apache.lucene.gdata.gom.core;
|
||||
|
||||
import java.io.StringWriter;
|
||||
import java.util.List;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
import javax.xml.stream.FactoryConfigurationError;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import org.apache.lucene.gdata.gom.GOMAuthor;
|
||||
import org.apache.lucene.gdata.gom.GOMCategory;
|
||||
import org.apache.lucene.gdata.gom.GOMContributor;
|
||||
import org.apache.lucene.gdata.gom.GOMElement;
|
||||
import org.apache.lucene.gdata.gom.GOMEntry;
|
||||
import org.apache.lucene.gdata.gom.GOMExtension;
|
||||
import org.apache.lucene.gdata.gom.GOMFeed;
|
||||
import org.apache.lucene.gdata.gom.GOMGenerator;
|
||||
import org.apache.lucene.gdata.gom.GOMIcon;
|
||||
import org.apache.lucene.gdata.gom.GOMId;
|
||||
import org.apache.lucene.gdata.gom.GOMLink;
|
||||
import org.apache.lucene.gdata.gom.GOMLogo;
|
||||
import org.apache.lucene.gdata.gom.GOMNamespace;
|
||||
import org.apache.lucene.gdata.gom.GOMRights;
|
||||
import org.apache.lucene.gdata.gom.GOMSource;
|
||||
import org.apache.lucene.gdata.gom.GOMSubtitle;
|
||||
import org.apache.lucene.gdata.gom.GOMTitle;
|
||||
import org.apache.lucene.gdata.gom.GOMUpdated;
|
||||
import org.apache.lucene.gdata.gom.core.GOMFeedImplTest.TestExtendsionFactory;
|
||||
import org.apache.lucene.gdata.gom.core.GOMFeedImplTest.TestExtension;
|
||||
import org.apache.lucene.gdata.gom.core.extension.GOMExtensionFactory;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMStaxWriter;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
public class GOMSourceImplTest extends TestCase {
|
||||
|
||||
static final String TEST_LOCAL_NAME = "testelement";
|
||||
|
||||
GOMSourceImpl impl;
|
||||
|
||||
protected void setUp() throws Exception {
|
||||
this.impl = new GOMSourceImpl();
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMFeedImpl.getChildParser(QName)'
|
||||
*/
|
||||
public void testGetChildParser() {
|
||||
|
||||
{
|
||||
// atomAuthor*
|
||||
AtomParser parser = this.impl.getChildParser(new QName(
|
||||
GOMNamespace.ATOM_NS_URI, "author"));
|
||||
assertNotNull(parser);
|
||||
assertTrue(parser instanceof GOMAuthor);
|
||||
assertEquals(1, this.impl.getAuthors().size());
|
||||
this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,
|
||||
"author"));
|
||||
assertEquals(2, this.impl.getAuthors().size());
|
||||
}
|
||||
|
||||
{
|
||||
// atomCategory*
|
||||
AtomParser parser = this.impl.getChildParser(new QName(
|
||||
GOMNamespace.ATOM_NS_URI, "category"));
|
||||
assertNotNull(parser);
|
||||
assertTrue(parser instanceof GOMCategory);
|
||||
assertEquals(1, this.impl.getCategories().size());
|
||||
this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,
|
||||
"category"));
|
||||
assertEquals(2, this.impl.getCategories().size());
|
||||
}
|
||||
|
||||
{
|
||||
// atomContributor*
|
||||
AtomParser parser = this.impl.getChildParser(new QName(
|
||||
GOMNamespace.ATOM_NS_URI, "contributor"));
|
||||
assertNotNull(parser);
|
||||
assertTrue(parser instanceof GOMContributor);
|
||||
assertEquals(1, this.impl.getContributor().size());
|
||||
this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,
|
||||
"contributor"));
|
||||
assertEquals(2, this.impl.getContributor().size());
|
||||
}
|
||||
{
|
||||
// atomGenerator?
|
||||
AtomParser parser = this.impl.getChildParser(new QName(
|
||||
GOMNamespace.ATOM_NS_URI, "generator"));
|
||||
assertNotNull(parser);
|
||||
assertTrue(parser instanceof GOMGenerator);
|
||||
assertSame(parser, this.impl.getGenerator());
|
||||
try {
|
||||
this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,
|
||||
"generator"));
|
||||
fail("one or zero");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
// atomIcon?
|
||||
AtomParser parser = this.impl.getChildParser(new QName(
|
||||
GOMNamespace.ATOM_NS_URI, "icon"));
|
||||
assertNotNull(parser);
|
||||
assertTrue(parser instanceof GOMIcon);
|
||||
assertSame(parser, this.impl.getIcon());
|
||||
try {
|
||||
this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,
|
||||
"icon"));
|
||||
fail("one or zero");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
{
|
||||
// atomId
|
||||
AtomParser parser = this.impl.getChildParser(new QName(
|
||||
GOMNamespace.ATOM_NS_URI, "id"));
|
||||
assertNotNull(parser);
|
||||
assertTrue(parser instanceof GOMId);
|
||||
assertSame(parser, this.impl.getId());
|
||||
try {
|
||||
this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,
|
||||
"id"));
|
||||
fail("exactly one time ");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
{
|
||||
// atomLink*
|
||||
AtomParser parser = this.impl.getChildParser(new QName(
|
||||
GOMNamespace.ATOM_NS_URI, "link"));
|
||||
assertNotNull(parser);
|
||||
assertTrue(parser instanceof GOMLink);
|
||||
assertEquals(1, this.impl.getLinks().size());
|
||||
this.impl
|
||||
.getChildParser(new QName(GOMNamespace.ATOM_NS_URI, "link"));
|
||||
assertEquals(2, this.impl.getLinks().size());
|
||||
|
||||
}
|
||||
|
||||
{
|
||||
// atomLogo?
|
||||
AtomParser parser = this.impl.getChildParser(new QName(
|
||||
GOMNamespace.ATOM_NS_URI, "logo"));
|
||||
assertNotNull(parser);
|
||||
assertTrue(parser instanceof GOMLogo);
|
||||
assertSame(parser, this.impl.getLogo());
|
||||
try {
|
||||
this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,
|
||||
"logo"));
|
||||
fail("zero or one");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
{
|
||||
// atomRights?
|
||||
AtomParser parser = this.impl.getChildParser(new QName(
|
||||
GOMNamespace.ATOM_NS_URI, "rights"));
|
||||
assertNotNull(parser);
|
||||
assertTrue(parser instanceof GOMRights);
|
||||
assertSame(parser, this.impl.getRights());
|
||||
try {
|
||||
this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,
|
||||
"rights"));
|
||||
fail("zero or one");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
{
|
||||
// atomSubtitle?
|
||||
AtomParser parser = this.impl.getChildParser(new QName(
|
||||
GOMNamespace.ATOM_NS_URI, "subtitle"));
|
||||
assertNotNull(parser);
|
||||
assertTrue(parser instanceof GOMSubtitle);
|
||||
assertSame(parser, this.impl.getSubtitle());
|
||||
try {
|
||||
this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,
|
||||
"subtitle"));
|
||||
fail("zero or one");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
{
|
||||
// atomTitle
|
||||
AtomParser parser = this.impl.getChildParser(new QName(
|
||||
GOMNamespace.ATOM_NS_URI, "title"));
|
||||
assertNotNull(parser);
|
||||
assertTrue(parser instanceof GOMTitle);
|
||||
assertSame(parser, this.impl.getTitle());
|
||||
try {
|
||||
this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,
|
||||
"title"));
|
||||
fail("exactly one time ");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
{
|
||||
// atomUpdated
|
||||
AtomParser parser = this.impl.getChildParser(new QName(
|
||||
GOMNamespace.ATOM_NS_URI, "updated"));
|
||||
assertNotNull(parser);
|
||||
assertTrue(parser instanceof GOMUpdated);
|
||||
assertSame(parser, this.impl.getUpdated());
|
||||
try {
|
||||
this.impl.getChildParser(new QName(GOMNamespace.ATOM_NS_URI,
|
||||
"updated"));
|
||||
fail("exactly one time ");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMFeedImpl.processElementValue(String)'
|
||||
*/
|
||||
public void testProcessElementValue() {
|
||||
try {
|
||||
this.impl.processElementValue("some");
|
||||
fail("no element text");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMFeedImpl.processEndElement()'
|
||||
*
|
||||
* atomFeed = element atom:feed { atomCommonAttributes, (atomAuthor* &
|
||||
* atomCategory* & atomContributor* & atomGenerator? & atomIcon? & atomId &
|
||||
* atomLink* & atomLogo? & atomRights? & atomSubtitle? & atomTitle &
|
||||
* atomUpdated & extensionElement*), atomEntry* }
|
||||
*/
|
||||
public void testProcessEndElement() {
|
||||
this.impl.addAuthor(new GOMAuthorImpl());
|
||||
this.impl.setId(new GOMIdImpl());
|
||||
this.impl.setUpdated(new GOMUpdatedImpl());
|
||||
this.impl.setTitle(new GOMTitleImpl());
|
||||
|
||||
this.impl.processEndElement();
|
||||
{
|
||||
// author missing
|
||||
this.impl.getAuthors().clear();
|
||||
try {
|
||||
this.impl.processEndElement();
|
||||
fail("missing elements");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
this.impl.addAuthor(new GOMAuthorImpl());
|
||||
}
|
||||
|
||||
{
|
||||
// id missing
|
||||
this.impl.setId(null);
|
||||
try {
|
||||
this.impl.processEndElement();
|
||||
fail("missing elements");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
this.impl.setId(new GOMIdImpl());
|
||||
}
|
||||
|
||||
{
|
||||
// title missing
|
||||
this.impl.setTitle(null);
|
||||
try {
|
||||
this.impl.processEndElement();
|
||||
fail("missing elements");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
this.impl.setTitle(new GOMTitleImpl());
|
||||
}
|
||||
{
|
||||
// updated missing
|
||||
this.impl.setUpdated(null);
|
||||
try {
|
||||
this.impl.processEndElement();
|
||||
fail("missing elements");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
this.impl.setUpdated(new GOMUpdatedImpl());
|
||||
}
|
||||
|
||||
/*
|
||||
* atom:feed elements MUST NOT contain more than one atom:link element
|
||||
* with a rel attribute value of "alternate" that has the same
|
||||
* combination of type and hreflang attribute values.
|
||||
*/
|
||||
|
||||
{
|
||||
// two identical alternate links missing
|
||||
GOMLink link = new GOMLinkImpl();
|
||||
link.setRel("alternate");
|
||||
link.setHrefLang("http://www.apache.org");
|
||||
link.setType("text/html");
|
||||
this.impl.addLink(link);
|
||||
// one is allowed
|
||||
this.impl.processEndElement();
|
||||
// add a second link
|
||||
link = new GOMLinkImpl();
|
||||
this.impl.addLink(link);
|
||||
link.setRel("next");
|
||||
link.setHrefLang("http://www.apache.org");
|
||||
link.setType("text/html");
|
||||
// one is alternate the other is next
|
||||
this.impl.processEndElement();
|
||||
|
||||
// a second "identical" alternate link
|
||||
link = new GOMLinkImpl();
|
||||
this.impl.addLink(link);
|
||||
link.setRel("alternate");
|
||||
link.setHrefLang("http://www.apache.org");
|
||||
link.setType("text/html");
|
||||
try {
|
||||
this.impl.processEndElement();
|
||||
fail("missing elements");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
this.impl.setUpdated(new GOMUpdatedImpl());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMFeedImpl.GOMFeedImpl()'
|
||||
*/
|
||||
public void testGOMFeedImpl() {
|
||||
GOMFeedImpl impl2 = new GOMFeedImpl();
|
||||
assertEquals(GOMFeed.LOCALNAME, impl2.getLocalName());
|
||||
assertEquals(GOMFeed.LOCALNAME, impl2.getQname().getLocalPart());
|
||||
assertEquals(GOMNamespace.ATOM_NS_URI, impl2.getQname()
|
||||
.getNamespaceURI());
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMFeedImpl.writeAtomOutput(GOMWriter)'
|
||||
*/
|
||||
public void testWriteAtomOutput() throws XMLStreamException,
|
||||
FactoryConfigurationError {
|
||||
// write a whole feed and check if all elements are written
|
||||
this.impl.addAuthor(new GOMAuthorImpl());
|
||||
this.impl.addCategory(new GOMCategoryImpl());
|
||||
this.impl.addContributor(new GOMContributorImpl());
|
||||
this.impl.addLink(new GOMLinkImpl());
|
||||
this.impl.setGenerator(new GOMGeneratorImpl());
|
||||
this.impl.setIcon(new GOMIconImpl());
|
||||
this.impl.setId(new GOMIdImpl());
|
||||
this.impl.setLogo(new GOMLogoImpl());
|
||||
this.impl.setRights(new GOMRightsImpl());
|
||||
this.impl.setSubtitle(new GOMSubtitleImpl());
|
||||
this.impl.setTitle(new GOMTitleImpl());
|
||||
this.impl.setUpdated(new GOMUpdatedImpl());
|
||||
StringWriter stW = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(stW);
|
||||
this.impl.writeAtomOutput(writer);
|
||||
String string = stW.toString();
|
||||
assertTrue(string.startsWith("<" + GOMSource.LOCALNAME));
|
||||
assertTrue(string.contains("<" + GOMAuthor.LOCALNAME));
|
||||
assertTrue(string.contains("<" + GOMCategory.LOCALNAME));
|
||||
assertTrue(string.contains("<" + GOMContributor.LOCALNAME));
|
||||
assertTrue(string.contains("<" + GOMLink.LOCALNAME));
|
||||
assertTrue(string.contains("<" + GOMGenerator.LOCALNAME));
|
||||
assertTrue(string.contains("<" + GOMIcon.LOCALNAME));
|
||||
assertTrue(string.contains("<" + GOMId.LOCALNAME));
|
||||
assertTrue(string.contains("<" + GOMLogo.LOCALNAME));
|
||||
assertTrue(string.contains("<" + GOMRights.LOCALNAME));
|
||||
assertTrue(string.contains("<" + GOMSubtitle.LOCALNAME));
|
||||
assertTrue(string.contains("<" + GOMTitle.LOCALNAME));
|
||||
assertTrue(string.contains("<" + GOMUpdated.LOCALNAME));
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMFeedImpl.writeRssOutput(GOMWriter)'
|
||||
*/
|
||||
public void testWriteRssOutput() throws XMLStreamException,
|
||||
FactoryConfigurationError {
|
||||
|
||||
StringWriter stW = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(stW);
|
||||
this.impl.writeRssOutput(writer);
|
||||
assertEquals("", stW.toString());
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,257 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import java.io.StringWriter;
|
||||
|
||||
import javax.xml.namespace.QName;
|
||||
import javax.xml.stream.FactoryConfigurationError;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import org.apache.lucene.gdata.gom.ContentType;
|
||||
import org.apache.lucene.gdata.gom.core.GOMTextContructImpl.XMLBlobContentParser;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMStaxWriter;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public class GOMTextConstructImplTest extends TestCase {
|
||||
GOMTitleImpl titleImpl;
|
||||
|
||||
GOMSubtitleImpl subTitleImpl;
|
||||
|
||||
protected void setUp() throws Exception {
|
||||
this.titleImpl = new GOMTitleImpl();
|
||||
this.subTitleImpl = new GOMSubtitleImpl();
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMTextContructImpl.getChildParser(QName)'
|
||||
*/
|
||||
public void testGetChildParser() {
|
||||
try {
|
||||
this.titleImpl.getChildParser(null);
|
||||
fail("qname must not be null");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
try {
|
||||
this.titleImpl.getChildParser(new QName("test"));
|
||||
fail("no such child supported");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
try {
|
||||
this.titleImpl.getChildParser(new QName("div"));
|
||||
fail("content type not set");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
this.titleImpl.contentType = ContentType.XHTML;
|
||||
AtomParser childParser = this.titleImpl
|
||||
.getChildParser(new QName("div"));
|
||||
assertNotNull(childParser);
|
||||
assertTrue(childParser instanceof XMLBlobContentParser);
|
||||
try {
|
||||
this.titleImpl.getChildParser(new QName("div"));
|
||||
fail("duplicated element");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMTextContructImpl.processAttribute(QName,
|
||||
* String)' includes Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMTextContructImpl.getContentType()
|
||||
*/
|
||||
public void testProcessAttribute() {
|
||||
try {
|
||||
this.titleImpl.processAttribute(null, "test");
|
||||
fail("qname is null");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
this.titleImpl.processAttribute(new QName("type"), "text");
|
||||
assertEquals(ContentType.TEXT, this.titleImpl.getContentType());
|
||||
this.titleImpl.contentType = null;
|
||||
this.titleImpl.processAttribute(new QName("type"), "html");
|
||||
assertEquals(ContentType.HTML, this.titleImpl.getContentType());
|
||||
this.titleImpl.contentType = null;
|
||||
this.titleImpl.processAttribute(new QName("type"), "xhtml");
|
||||
assertEquals(ContentType.XHTML, this.titleImpl.getContentType());
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMTextContructImpl.processElementValue(String)'
|
||||
*/
|
||||
public void testProcessElementValue() {
|
||||
this.titleImpl.processElementValue("test");
|
||||
assertEquals("test", this.titleImpl.getTextValue());
|
||||
assertNull(this.titleImpl.htmlBuilder);
|
||||
this.titleImpl.processAttribute(new QName("type"), "html");
|
||||
assertNotNull(this.titleImpl.htmlBuilder);
|
||||
|
||||
this.titleImpl.processElementValue("test");
|
||||
assertEquals("test", this.titleImpl.getTextValue());
|
||||
assertEquals("test", this.titleImpl.htmlBuilder.toString());
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMTextContructImpl.processEndElement()'
|
||||
*/
|
||||
public void testProcessEndElement() {
|
||||
try {
|
||||
this.titleImpl.processEndElement();
|
||||
fail("no content type");
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
this.titleImpl.contentType = ContentType.TEXT;
|
||||
this.titleImpl.processEndElement();
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMTextContructImpl.writeAtomOutput(GOMWriter)'
|
||||
*/
|
||||
public void testWriteAtomOutput() throws XMLStreamException,
|
||||
FactoryConfigurationError {
|
||||
{
|
||||
this.titleImpl.contentType = ContentType.TEXT;
|
||||
StringWriter strWriter = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(strWriter);
|
||||
this.titleImpl.writeAtomOutput(writer);
|
||||
assertEquals("<title type=\"text\"/>", strWriter.toString());
|
||||
}
|
||||
{
|
||||
this.titleImpl.setTextValue("><hello world");
|
||||
StringWriter strWriter = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(strWriter);
|
||||
this.titleImpl.writeAtomOutput(writer);
|
||||
assertEquals("<title type=\"text\">><hello world</title>",
|
||||
strWriter.toString());
|
||||
}
|
||||
|
||||
{
|
||||
this.titleImpl.contentType = ContentType.HTML;
|
||||
StringWriter strWriter = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(strWriter);
|
||||
this.titleImpl.writeAtomOutput(writer);
|
||||
assertEquals("<title type=\"html\">><hello world</title>",
|
||||
strWriter.toString());
|
||||
}
|
||||
|
||||
{
|
||||
this.titleImpl.contentType = ContentType.XHTML;
|
||||
StringWriter strWriter = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(strWriter);
|
||||
this.titleImpl.writeAtomOutput(writer);
|
||||
assertEquals("<title type=\"xhtml\">><hello world</title>",
|
||||
strWriter.toString());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.GOMTextContructImpl.writeRssOutput(GOMWriter)'
|
||||
*/
|
||||
public void testWriteRssOutput() throws XMLStreamException {
|
||||
|
||||
{
|
||||
this.titleImpl.contentType = ContentType.TEXT;
|
||||
StringWriter strWriter = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(strWriter);
|
||||
this.titleImpl.writeRssOutput(writer);
|
||||
assertEquals("<title/>", strWriter.toString());
|
||||
}
|
||||
{
|
||||
this.titleImpl.setTextValue("><hello world");
|
||||
StringWriter strWriter = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(strWriter);
|
||||
this.titleImpl.writeRssOutput(writer);
|
||||
assertEquals("<title>><hello world</title>", strWriter
|
||||
.toString());
|
||||
}
|
||||
|
||||
{
|
||||
this.titleImpl.contentType = ContentType.HTML;
|
||||
StringWriter strWriter = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(strWriter);
|
||||
this.titleImpl.writeRssOutput(writer);
|
||||
assertEquals("<title>><hello world</title>", strWriter
|
||||
.toString());
|
||||
}
|
||||
|
||||
{
|
||||
this.titleImpl.contentType = ContentType.XHTML;
|
||||
StringWriter strWriter = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(strWriter);
|
||||
this.titleImpl.writeRssOutput(writer);
|
||||
// no markup in rss
|
||||
assertEquals("<title>><hello world</title>", strWriter
|
||||
.toString());
|
||||
}
|
||||
|
||||
{
|
||||
this.titleImpl.contentType = ContentType.XHTML;
|
||||
this.titleImpl.xmlBase = "http://www.apache.org";
|
||||
this.titleImpl.xmlLang = "en";
|
||||
StringWriter strWriter = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(strWriter);
|
||||
this.titleImpl.writeRssOutput(writer);
|
||||
// no markup in rss
|
||||
assertEquals(
|
||||
"<title xml:base=\"http://www.apache.org\" xml:lang=\"en\">><hello world</title>",
|
||||
strWriter.toString());
|
||||
}
|
||||
|
||||
{
|
||||
this.subTitleImpl.contentType = ContentType.XHTML;
|
||||
StringWriter strWriter = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(strWriter);
|
||||
this.subTitleImpl.writeRssOutput(writer);
|
||||
|
||||
assertEquals("<description/>", strWriter.toString());
|
||||
}
|
||||
|
||||
{
|
||||
this.subTitleImpl.contentType = ContentType.XHTML;
|
||||
this.subTitleImpl.setTextValue("><hello world");
|
||||
StringWriter strWriter = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(strWriter);
|
||||
this.subTitleImpl.writeRssOutput(writer);
|
||||
|
||||
assertEquals("<description>><hello world</description>",
|
||||
strWriter.toString());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,136 @@
|
|||
/**
|
||||
* 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;
|
||||
|
||||
import java.io.StringWriter;
|
||||
|
||||
import javax.xml.stream.FactoryConfigurationError;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
|
||||
import org.apache.lucene.gdata.gom.GOMNamespace;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMStaxWriter;
|
||||
import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
* @author Simon Willnauer
|
||||
*
|
||||
*/
|
||||
public class SimpleGOMElementImplTest extends TestCase {
|
||||
String localName = "test";
|
||||
|
||||
SimpleGOMElementImpl impl;
|
||||
|
||||
/**
|
||||
* @see junit.framework.TestCase#setUp()
|
||||
*/
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
this.impl = new SimpleGOMElementImpl(localName,
|
||||
GOMNamespace.ATOM_NAMESPACE);
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.SimpleGOMElementImpl.processElementValue(String)'
|
||||
*/
|
||||
public void testProcessElementValue() {
|
||||
this.impl.processElementValue("myValue");
|
||||
assertEquals("myValue", this.impl.getTextValue());
|
||||
|
||||
try {
|
||||
this.impl.processElementValue("myValue");
|
||||
fail("duplicated");
|
||||
|
||||
} catch (GDataParseException e) {
|
||||
//
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.SimpleGOMElementImpl.processEndElement()'
|
||||
*/
|
||||
public void testProcessEndElement() {
|
||||
// depends validator
|
||||
this.impl.processEndElement();
|
||||
this.impl
|
||||
.setValidator(new GOMFeedImpl.PositiveIntegerValidator("test"));
|
||||
try {
|
||||
this.impl.processEndElement();
|
||||
fail("value is null");
|
||||
} catch (GDataParseException e) {
|
||||
assertTrue(e.getMessage().indexOf("requires a element value") > 0);
|
||||
}
|
||||
this.impl.setTextValue("1");
|
||||
this.impl.processEndElement();
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.SimpleGOMElementImpl.SimpleGOMElementImpl(String,
|
||||
* GOMNamespace)'
|
||||
*/
|
||||
public void testSimpleGOMElementImpl() {
|
||||
try {
|
||||
new SimpleGOMElementImpl(null, GOMNamespace.ATOM_NAMESPACE);
|
||||
fail("localname is null");
|
||||
} catch (IllegalArgumentException e) {
|
||||
//
|
||||
}
|
||||
try {
|
||||
new SimpleGOMElementImpl("test", null);
|
||||
fail("namespace is null");
|
||||
} catch (IllegalArgumentException e) {
|
||||
//
|
||||
}
|
||||
|
||||
SimpleGOMElementImpl impl2 = new SimpleGOMElementImpl(this.localName,
|
||||
GOMNamespace.ATOM_NAMESPACE);
|
||||
assertEquals(impl2.getQname().getNamespaceURI(),
|
||||
GOMNamespace.ATOM_NS_URI);
|
||||
assertEquals(impl2.getQname().getPrefix(), GOMNamespace.ATOM_NS_PREFIX);
|
||||
assertEquals(impl2.getQname().getLocalPart(), this.localName);
|
||||
assertEquals(impl2.getLocalName(), this.localName);
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Test method for
|
||||
* 'org.apache.lucene.gdata.gom.core.SimpleGOMElementImpl.writeAtomOutput(GOMWriter)'
|
||||
*/
|
||||
public void testWriteAtomOutput() throws XMLStreamException,
|
||||
FactoryConfigurationError {
|
||||
{
|
||||
StringWriter strWriter = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(strWriter);
|
||||
this.impl.writeAtomOutput(writer);
|
||||
assertEquals("<atom:" + this.localName + "/>", strWriter.toString());
|
||||
}
|
||||
{
|
||||
StringWriter strWriter = new StringWriter();
|
||||
GOMOutputWriter writer = new GOMStaxWriter(strWriter);
|
||||
this.impl.setTextValue("hello world");
|
||||
this.impl.writeAtomOutput(writer);
|
||||
assertEquals("<atom:" + this.localName + ">hello world</atom:"
|
||||
+ this.localName + ">", strWriter.toString());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue