Ditch JSR305 annotations in favor of JDT annotations.
JIRA: YANGTOOLS-907
Change-Id: Ife00f06b20b562f62514f8fbd2e36e3179223857
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
<build>
<plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
- <configuration>
- <instructions>
- <Import-Package>!javax.annotation,*</Import-Package>
- </instructions>
- </configuration>
- </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
import java.net.URI;
import java.util.Map.Entry;
-import javax.annotation.Nonnull;
import javax.xml.namespace.NamespaceContext;
+import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.data.util.AbstractStringInstanceIdentifierCodec;
import org.opendaylight.yangtools.yang.data.util.DataSchemaContextTree;
import org.opendaylight.yangtools.yang.model.api.SchemaContext;
final class RandomPrefixInstanceIdentifierSerializer extends AbstractStringInstanceIdentifierCodec {
- private final DataSchemaContextTree schemaTree;
+ private final @NonNull DataSchemaContextTree schemaTree;
private final RandomPrefix prefixes;
- RandomPrefixInstanceIdentifierSerializer(final SchemaContext schemaContext, final NamespaceContext nsContext) {
+ RandomPrefixInstanceIdentifierSerializer(final @NonNull SchemaContext schemaContext,
+ final NamespaceContext nsContext) {
schemaTree = DataSchemaContextTree.from(schemaContext);
prefixes = new RandomPrefix(nsContext);
}
}
@Override
- protected String prefixForNamespace(@Nonnull final URI namespace) {
+ protected String prefixForNamespace(final URI namespace) {
return prefixes.encodePrefix(namespace);
}
@Override
- protected QName createQName(@Nonnull final String prefix, @Nonnull final String localName) {
+ protected QName createQName(final String prefix, final String localName) {
throw new UnsupportedOperationException("Not implemented");
}
- @Nonnull
@Override
protected DataSchemaContextTree getDataContextTree() {
return schemaTree;
}
-
}
import java.io.IOException;
import java.util.Collections;
import java.util.Map;
-import javax.annotation.Nonnull;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;
import org.opendaylight.yangtools.yang.common.QName;
}
@Override
- protected void writeValue(final XMLStreamWriter xmlWriter, final QName qname, @Nonnull final Object value,
+ protected void writeValue(final XMLStreamWriter xmlWriter, final QName qname, final Object value,
final SchemaNode schemaNode) throws IOException, XMLStreamException {
streamUtils.writeValue(xmlWriter, schemaNode, value, qname.getModule());
}
import java.util.Map.Entry;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;
+import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
import org.opendaylight.yangtools.yang.model.api.SchemaContext;
import org.opendaylight.yangtools.yang.model.api.SchemaContextProvider;
import org.opendaylight.yangtools.yang.model.util.SchemaContextUtil;
final class SchemaAwareXMLStreamWriterUtils extends XMLStreamWriterUtils implements SchemaContextProvider {
- private final SchemaContext schemaContext;
+ private final @NonNull SchemaContext schemaContext;
SchemaAwareXMLStreamWriterUtils(final SchemaContext schemaContext) {
this.schemaContext = requireNonNull(schemaContext);
import java.util.Collections;
import java.util.Deque;
import java.util.Map;
-import javax.annotation.Nonnull;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;
import org.opendaylight.yangtools.yang.common.QName;
}
@Override
- protected void writeValue(final XMLStreamWriter xmlWriter, final QName qname, @Nonnull final Object value,
+ protected void writeValue(final XMLStreamWriter xmlWriter, final QName qname, final Object value,
final Object context) throws XMLStreamException {
xmlWriter.writeCharacters(value.toString());
}
import java.util.Map.Entry;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
-import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
import javax.xml.XMLConstants;
import javax.xml.namespace.NamespaceContext;
import javax.xml.stream.XMLStreamException;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stax.StAXResult;
import javax.xml.transform.stream.StreamResult;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates;
return SchemalessXMLStreamNormalizedNodeStreamWriter.newInstance(writer);
}
- abstract void writeValue(XMLStreamWriter xmlWriter, QName qname, @Nonnull Object value, T context)
+ abstract void writeValue(XMLStreamWriter xmlWriter, QName qname, @NonNull Object value, T context)
throws IOException, XMLStreamException;
abstract void startList(NodeIdentifier name);
abstract void startListItem(PathArgument name) throws IOException;
- private void writeAttributes(@Nonnull final Map<QName, String> attributes) throws IOException {
+ private void writeAttributes(final @NonNull Map<QName, String> attributes) throws IOException {
for (final Entry<QName, String> entry : attributes.entrySet()) {
try {
final QName qname = entry.getKey();
}
}
- void writeElement(final QName qname, final Object value, @Nullable final Map<QName, String> attributes,
+ void writeElement(final QName qname, final Object value, final @Nullable Map<QName, String> attributes,
final T context) throws IOException {
try {
writeStartElement(qname);
-
- writeAttributes(attributes);
+ if (attributes != null) {
+ writeAttributes(attributes);
+ }
if (value != null) {
writeValue(writer, qname, value, context);
}
* terms of the Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-
package org.opendaylight.yangtools.yang.data.codec.xml;
import static com.google.common.base.Preconditions.checkArgument;
import com.google.common.annotations.VisibleForTesting;
import java.util.Map.Entry;
-import javax.annotation.Nonnull;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;
+import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.common.QNameModule;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
* @param parent module QName owning the leaf definition
* @throws XMLStreamException if an encoding problem occurs
*/
- void writeValue(@Nonnull final XMLStreamWriter writer, @Nonnull final SchemaNode schemaNode,
+ void writeValue(final @NonNull XMLStreamWriter writer, final @NonNull SchemaNode schemaNode,
final Object value, final QNameModule parent) throws XMLStreamException {
if (value == null) {
LOG.debug("Value of {}:{} is null, not encoding it", schemaNode.getQName().getNamespace(),
* @param parent optional parameter of a module QName owning the leaf definition
* @throws XMLStreamException if an encoding problem occurs
*/
- private void writeValue(@Nonnull final XMLStreamWriter writer, @Nonnull final TypeDefinition<?> type,
+ private void writeValue(final @NonNull XMLStreamWriter writer, final @NonNull TypeDefinition<?> type,
final Object value, final QNameModule parent) throws XMLStreamException {
if (value == null) {
LOG.debug("Value of {}:{} is null, not encoding it", type.getQName().getNamespace(),
}
@VisibleForTesting
- static void write(@Nonnull final XMLStreamWriter writer, @Nonnull final IdentityrefTypeDefinition type,
- @Nonnull final Object value, final QNameModule parent) throws XMLStreamException {
+ static void write(final @NonNull XMLStreamWriter writer, final @NonNull IdentityrefTypeDefinition type,
+ final @NonNull Object value, final QNameModule parent) throws XMLStreamException {
if (value instanceof QName) {
final QName qname = (QName) value;
}
}
- private void write(@Nonnull final XMLStreamWriter writer, @Nonnull final InstanceIdentifierTypeDefinition type,
- @Nonnull final Object value) throws XMLStreamException {
+ private void write(final @NonNull XMLStreamWriter writer, final @NonNull InstanceIdentifierTypeDefinition type,
+ final @NonNull Object value) throws XMLStreamException {
if (value instanceof YangInstanceIdentifier) {
writeInstanceIdentifier(writer, (YangInstanceIdentifier)value);
} else {
* terms of the Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-
package org.opendaylight.yangtools.yang.data.codec.xml;
import static com.google.common.base.Preconditions.checkArgument;
import java.util.ArrayDeque;
import java.util.Deque;
import java.util.Iterator;
-import javax.annotation.Nonnull;
import javax.xml.namespace.NamespaceContext;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;
+import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
import org.opendaylight.yangtools.yang.data.util.AbstractModuleStringInstanceIdentifierCodec;
import org.opendaylight.yangtools.yang.data.util.DataSchemaContextTree;
private static final ThreadLocal<Deque<NamespaceContext>> TL_CONTEXT = new ThreadLocal<>();
- private final DataSchemaContextTree dataContextTree;
- private final XmlCodecFactory codecFactory;
- private final SchemaContext context;
+ private final @NonNull DataSchemaContextTree dataContextTree;
+ private final @NonNull XmlCodecFactory codecFactory;
+ private final @NonNull SchemaContext context;
XmlStringInstanceIdentifierCodec(final SchemaContext context, final XmlCodecFactory xmlCodecFactory) {
this.context = requireNonNull(context);
}
@Override
- protected Module moduleForPrefix(@Nonnull final String prefix) {
+ protected Module moduleForPrefix(final String prefix) {
final String prefixedNS = getNamespaceContext().getNamespaceURI(prefix);
final Iterator<Module> modules = context.findModules(URI.create(prefixedNS)).iterator();
return modules.hasNext() ? modules.next() : null;
}
@Override
- protected String prefixForNamespace(@Nonnull final URI namespace) {
+ protected String prefixForNamespace(final URI namespace) {
final Iterator<Module> modules = context.findModules(namespace).iterator();
return modules.hasNext() ? modules.next().getName() : null;
}
- @Nonnull
@Override
protected DataSchemaContextTree getDataContextTree() {
return dataContextTree;
* terms of the Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-
package org.opendaylight.yangtools.yang.data.codec.xml;
import static org.junit.Assert.assertEquals;
import java.io.InputStream;
import java.net.URI;
import java.util.Collection;
-import java.util.List;
import java.util.Optional;
-import javax.annotation.Nonnull;
import javax.xml.stream.XMLStreamReader;
import org.junit.Before;
import org.junit.Test;
import org.opendaylight.yangtools.yang.model.api.SchemaContext;
import org.opendaylight.yangtools.yang.model.api.SchemaPath;
import org.opendaylight.yangtools.yang.model.api.Status;
-import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils;
public class YangModeledAnyXMLDeserializationTest {
return false;
}
- @Nonnull
@Override
public QName getQName() {
return qname;
}
- @Nonnull
@Override
public SchemaPath getPath() {
return null;
}
- @Nonnull
- @Override
- public List<UnknownSchemaNode> getUnknownSchemaNodes() {
- return null;
- }
-
@Override
public Optional<String> getDescription() {
return Optional.empty();
return Optional.empty();
}
- @Nonnull
@Override
public Status getStatus() {
- return null;
+ return Status.CURRENT;
}
- @Nonnull
@Override
public ContainerSchemaNode getSchemaOfAnyXmlData() {
return contentSchema;