diff options
Diffstat (limited to 'jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/GenericJavaXmlSchema.java')
-rw-r--r-- | jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/GenericJavaXmlSchema.java | 339 |
1 files changed, 0 insertions, 339 deletions
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/GenericJavaXmlSchema.java b/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/GenericJavaXmlSchema.java deleted file mode 100644 index e35032fe56..0000000000 --- a/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/GenericJavaXmlSchema.java +++ /dev/null @@ -1,339 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010, 2011 Oracle. All rights reserved. - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0, which accompanies this distribution - * and is available at http://www.eclipse.org/legal/epl-v10.html. - * - * Contributors: - * Oracle - initial API and implementation - ******************************************************************************/ -package org.eclipse.jpt.jaxb.core.internal.context.java; - -import java.util.List; -import org.eclipse.jdt.core.dom.CompilationUnit; -import org.eclipse.jpt.common.core.utility.TextRange; -import org.eclipse.jpt.common.utility.Filter; -import org.eclipse.jpt.common.utility.internal.CollectionTools; -import org.eclipse.jpt.common.utility.internal.StringTools; -import org.eclipse.jpt.common.utility.internal.iterables.EmptyIterable; -import org.eclipse.jpt.common.utility.internal.iterables.FilteringIterable; -import org.eclipse.jpt.common.utility.internal.iterables.ListIterable; -import org.eclipse.jpt.jaxb.core.context.JaxbPackage; -import org.eclipse.jpt.jaxb.core.context.JaxbPackageInfo; -import org.eclipse.jpt.jaxb.core.context.XmlNs; -import org.eclipse.jpt.jaxb.core.context.XmlNsForm; -import org.eclipse.jpt.jaxb.core.context.XmlSchema; -import org.eclipse.jpt.jaxb.core.internal.validation.DefaultValidationMessages; -import org.eclipse.jpt.jaxb.core.internal.validation.JaxbValidationMessages; -import org.eclipse.jpt.jaxb.core.resource.java.JavaResourcePackage; -import org.eclipse.jpt.jaxb.core.resource.java.XmlNsAnnotation; -import org.eclipse.jpt.jaxb.core.resource.java.XmlSchemaAnnotation; -import org.eclipse.jpt.jaxb.core.xsd.XsdSchema; -import org.eclipse.wst.validation.internal.provisional.core.IMessage; -import org.eclipse.wst.validation.internal.provisional.core.IReporter; -import org.eclipse.xsd.XSDForm; - -public class GenericJavaXmlSchema - extends AbstractJavaContextNode - implements XmlSchema { - - protected String specifiedNamespace; - - protected String location; - - protected XmlNsForm specifiedAttributeFormDefault; - - protected XmlNsForm specifiedElementFormDefault; - - protected final XmlNsPrefixContainer xmlNsPrefixContainer; - - - public GenericJavaXmlSchema(JaxbPackageInfo parent) { - super(parent); - this.specifiedNamespace = this.getResourceNamespace(); - this.location = this.getResourceLocation(); - this.specifiedAttributeFormDefault = getResourceAttributeFormDefault(); - this.specifiedElementFormDefault = getResourceElementFormDefault(); - this.xmlNsPrefixContainer = new XmlNsPrefixContainer(); - } - - - // ********** synchronize/update ********** - - @Override - public void synchronizeWithResourceModel() { - super.synchronizeWithResourceModel(); - this.setSpecifiedNamespace_(this.getResourceNamespace()); - this.setLocation_(this.getResourceLocation()); - this.setSpecifiedAttributeFormDefault_(getResourceAttributeFormDefault()); - this.setSpecifiedElementFormDefault_(getResourceElementFormDefault()); - this.syncXmlNsPrefixes(); - } - - @Override - public void update() { - super.update(); - this.updateXmlNsPrefixes(); - } - - @Override - public JaxbPackageInfo getParent() { - return (JaxbPackageInfo) super.getParent(); - } - - public JaxbPackage getJaxbPackage() { - return getParent().getJaxbPackage(); - } - - protected JavaResourcePackage getResourcePackage() { - return getParent().getResourcePackage(); - } - - - // ********** xml schema annotation ********** - - protected XmlSchemaAnnotation getXmlSchemaAnnotation() { - return (XmlSchemaAnnotation) this.getResourcePackage().getNonNullAnnotation(XmlSchemaAnnotation.ANNOTATION_NAME); - } - - // ********** namespace ********** - - public String getNamespace() { - return (this.specifiedNamespace == null) ? "" : this.specifiedNamespace; - } - - public String getSpecifiedNamespace() { - return this.specifiedNamespace; - } - - public void setSpecifiedNamespace(String namespace) { - this.getXmlSchemaAnnotation().setNamespace(namespace); - this.setSpecifiedNamespace_(namespace); - } - - protected void setSpecifiedNamespace_(String namespace) { - String old = this.specifiedNamespace; - this.specifiedNamespace = namespace; - this.firePropertyChanged(SPECIFIED_NAMESPACE_PROPERTY, old, namespace); - } - - protected String getResourceNamespace() { - return getXmlSchemaAnnotation().getNamespace(); - } - - - // ********** location ********** - - public String getLocation() { - return this.location; - } - - public void setLocation(String location) { - this.getXmlSchemaAnnotation().setLocation(location); - this.setLocation_(location); - } - - protected void setLocation_(String location) { - String old = this.location; - this.location = location; - this.firePropertyChanged(LOCATION_PROPERTY, old, location); - } - - protected String getResourceLocation() { - return getXmlSchemaAnnotation().getLocation(); - } - - - // ********** attribute form default ********** - - public XmlNsForm getAttributeFormDefault() { - return (this.specifiedAttributeFormDefault == null) ? XmlNsForm.UNSET : this.specifiedAttributeFormDefault; - } - - public XmlNsForm getSpecifiedAttributeFormDefault() { - return this.specifiedAttributeFormDefault; - } - - public void setSpecifiedAttributeFormDefault(XmlNsForm attributeFormDefault) { - getXmlSchemaAnnotation().setAttributeFormDefault(XmlNsForm.toJavaResourceModel(attributeFormDefault)); - setSpecifiedAttributeFormDefault_(attributeFormDefault); - } - - protected void setSpecifiedAttributeFormDefault_(XmlNsForm attributeFormDefault) { - XmlNsForm old = this.specifiedAttributeFormDefault; - this.specifiedAttributeFormDefault = attributeFormDefault; - firePropertyChanged(SPECIFIED_ATTRIBUTE_FORM_DEFAULT_PROPERTY, old, attributeFormDefault); - } - - protected XmlNsForm getResourceAttributeFormDefault() { - return XmlNsForm.fromJavaResourceModel(getXmlSchemaAnnotation().getAttributeFormDefault()); - } - - - // ********** element form default ********** - - public XmlNsForm getElementFormDefault() { - return (this.specifiedElementFormDefault == null) ? XmlNsForm.UNSET : this.specifiedElementFormDefault; - } - - public XmlNsForm getSpecifiedElementFormDefault() { - return this.specifiedElementFormDefault; - } - - public void setSpecifiedElementFormDefault(XmlNsForm elementFormDefault) { - getXmlSchemaAnnotation().setElementFormDefault(XmlNsForm.toJavaResourceModel(elementFormDefault)); - setSpecifiedElementFormDefault_(elementFormDefault); - } - - protected void setSpecifiedElementFormDefault_(XmlNsForm elementFormDefault) { - XmlNsForm old = this.specifiedElementFormDefault; - this.specifiedElementFormDefault = elementFormDefault; - firePropertyChanged(SPECIFIED_ELEMENT_FORM_DEFAULT_PROPERTY, old, elementFormDefault); - } - - protected XmlNsForm getResourceElementFormDefault() { - return XmlNsForm.fromJavaResourceModel(getXmlSchemaAnnotation().getElementFormDefault()); - } - - - // ********** xml namespace prefixes ********** - - public ListIterable<XmlNs> getXmlNsPrefixes() { - return this.xmlNsPrefixContainer.getContextElements(); - } - - public int getXmlNsPrefixesSize() { - return this.xmlNsPrefixContainer.getContextElementsSize(); - } - - public XmlNs addXmlNsPrefix(int index) { - XmlNsAnnotation annotation = this.getXmlSchemaAnnotation().addXmlns(index); - return this.xmlNsPrefixContainer.addContextElement(index, annotation); - } - - public void removeXmlNsPrefix(XmlNs xmlNsPrefix) { - this.removeXmlNsPrefix(this.xmlNsPrefixContainer.indexOfContextElement(xmlNsPrefix)); - } - - public void removeXmlNsPrefix(int index) { - this.getXmlSchemaAnnotation().removeXmlns(index); - this.xmlNsPrefixContainer.removeContextElement(index); - } - - public void moveXmlNsPrefix(int targetIndex, int sourceIndex) { - this.getXmlSchemaAnnotation().moveXmlns(targetIndex, sourceIndex); - this.xmlNsPrefixContainer.moveContextElement(targetIndex, sourceIndex); - } - - protected XmlNs buildXmlNs(XmlNsAnnotation xmlNsAnnotation) { - return this.getFactory().buildJavaXmlNs(this, xmlNsAnnotation); - } - - protected void syncXmlNsPrefixes() { - this.xmlNsPrefixContainer.synchronizeWithResourceModel(); - } - - protected void updateXmlNsPrefixes() { - this.xmlNsPrefixContainer.update(); - } - - protected ListIterable<XmlNsAnnotation> getXmlNsAnnotations() { - return getXmlSchemaAnnotation().getXmlns(); - } - - - // **************** content assist **************************************** - - @Override - public Iterable<String> getJavaCompletionProposals( - int pos, Filter<String> filter, CompilationUnit astRoot) { - Iterable<String> result = super.getJavaCompletionProposals(pos, filter, astRoot); - if (! CollectionTools.isEmpty(result)) { - return result; - } - - if (namespaceTouches(pos, astRoot)) { - return getNamespaceProposals(filter); - } - - return EmptyIterable.instance(); - } - - protected boolean namespaceTouches(int pos, CompilationUnit astRoot) { - return getXmlSchemaAnnotation().namespaceTouches(pos, astRoot); - } - - protected Iterable<String> getNamespaceProposals(Filter<String> filter) { - return StringTools.convertToJavaStringLiterals( - new FilteringIterable<String>( - getJaxbProject().getSchemaLibrary().getSchemaLocations().keySet(), filter)); - } - - - // **************** validation ******************************************** - - @Override - public TextRange getValidationTextRange(CompilationUnit astRoot) { - return getXmlSchemaAnnotation().getTextRange(astRoot); - } - - - - @Override - public void validate(List<IMessage> messages, IReporter reporter, CompilationUnit astRoot) { - super.validate(messages, reporter, astRoot); - - XsdSchema schema = getJaxbPackage().getXsdSchema(); - if (schema != null) { - if (formConflicts(getAttributeFormDefault(), schema.getXSDComponent().getAttributeFormDefault())) { - messages.add( - DefaultValidationMessages.buildMessage( - IMessage.HIGH_SEVERITY, - JaxbValidationMessages.XML_SCHEMA__MISMATCHED_ATTRIBUTE_FORM_DEFAULT, - this, - getXmlSchemaAnnotation().getAttributeFormDefaultTextRange(astRoot))); - } - - if (formConflicts(getElementFormDefault(), schema.getXSDComponent().getElementFormDefault())) { - messages.add( - DefaultValidationMessages.buildMessage( - IMessage.HIGH_SEVERITY, - JaxbValidationMessages.XML_SCHEMA__MISMATCHED_ELEMENT_FORM_DEFAULT, - this, - getXmlSchemaAnnotation().getElementFormDefaultTextRange(astRoot))); - } - } - } - - protected boolean formConflicts(XmlNsForm form, XSDForm xsdForm) { - return (form == XmlNsForm.QUALIFIED) ^ (xsdForm == XSDForm.QUALIFIED_LITERAL); - } - - - /** - * xml ns prefix container adapter - */ - protected class XmlNsPrefixContainer - extends ContextListContainer<XmlNs, XmlNsAnnotation> { - - @Override - protected String getContextElementsPropertyName() { - return XML_NS_PREFIXES_LIST; - } - - @Override - protected XmlNs buildContextElement(XmlNsAnnotation resourceElement) { - return GenericJavaXmlSchema.this.buildXmlNs(resourceElement); - } - - @Override - protected ListIterable<XmlNsAnnotation> getResourceElements() { - return GenericJavaXmlSchema.this.getXmlNsAnnotations(); - } - - @Override - protected XmlNsAnnotation getResourceElement(XmlNs contextElement) { - return contextElement.getResourceXmlNs(); - } - } -} |