1 package org.opendaylight.yangtools.yang.parser.builder.impl;
3 import com.google.common.base.Optional;
5 import java.text.DateFormat;
6 import java.text.SimpleDateFormat;
8 import org.junit.Before;
9 import org.opendaylight.yangtools.yang.common.QName;
10 import org.opendaylight.yangtools.yang.model.api.MustDefinition;
11 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
12 import org.opendaylight.yangtools.yang.model.util.MustDefinitionImpl;
13 import org.opendaylight.yangtools.yang.parser.builder.api.UnknownSchemaNodeBuilder;
14 import org.opendaylight.yangtools.yang.parser.builder.api.UsesNodeBuilder;
17 * Created by lukas on 10/14/14.
19 public abstract class AbstractBuilderTest {
21 protected final static String MODULE_NAMESPACE = "urn:opendaylight.rpc:def:test-model";
22 protected final static String REVISION = "2014-10-06";
23 protected final static String MODULE_NAME = "test-module";
24 protected final static DateFormat SIMPLE_DATE_FORMAT = new SimpleDateFormat("yyyy-mm-dd");
25 protected final static String MODULE_PATH = "test/module/path/test-module@" + REVISION + ".yang";
27 protected ModuleBuilder module;
30 public void setUp() throws Exception {
31 module = new ModuleBuilder(MODULE_NAME, MODULE_PATH);
32 final Date moduleRevision = SIMPLE_DATE_FORMAT.parse(REVISION);
33 module.setRevision(moduleRevision);
34 module.setNamespace(URI.create(MODULE_NAMESPACE));
35 module.setPrefix("mod");
38 protected MustDefinition provideMustDefinition() {
39 return MustDefinitionImpl.create("must-condition == value",
40 Optional.fromNullable("desc"), Optional.fromNullable("reference"), Optional.fromNullable("error-apptag"),
41 Optional.fromNullable("error-message"));
44 protected UnknownSchemaNodeBuilder provideUnknownNodeBuilder() {
45 final QName unknownType = QName.create(module.getNamespace(), module.getRevision(), "unknown-type");
46 final QName unknownNode = QName.create(module.getNamespace(), module.getRevision(), "unknown-ext-use");
47 final SchemaPath unknownNodePath = SchemaPath.create(true, unknownNode);
48 final UnknownSchemaNodeBuilder unknownNodeBuilder = new UnknownSchemaNodeBuilderImpl(module.getModuleName(),
49 25, unknownNode, unknownNodePath);
50 unknownNodeBuilder.setNodeType(unknownType);
51 return unknownNodeBuilder;
54 protected UnknownSchemaNodeBuilder provideUnknownNodeBuilder(final QName innerPathSegment) {
55 final QName unknownType = QName.create(module.getNamespace(), module.getRevision(), "unknown-type");
56 final QName unknownNode = QName.create(module.getNamespace(), module.getRevision(), "unknown-ext-use");
57 final SchemaPath unknownNodePath = SchemaPath.create(true, innerPathSegment, unknownNode);
58 final UnknownSchemaNodeBuilder unknownNodeBuilder = new UnknownSchemaNodeBuilderImpl(module.getModuleName(),
59 25, unknownNode, unknownNodePath);
60 unknownNodeBuilder.setNodeType(unknownType);
61 return unknownNodeBuilder;
64 protected ChoiceBuilder provideChoiceBuilder(String choiceLocalName) {
65 final QName choiceName = QName.create(module.getNamespace(), module.getRevision(), choiceLocalName);
66 final SchemaPath choicePath = SchemaPath.create(true, choiceName);
67 final ChoiceBuilder choiceBuilder = new ChoiceBuilder(module.getModuleName(), 22, choiceName, choicePath);
72 protected UsesNodeBuilder provideUsesNodeBuilder(final String usesGroupingName) {
73 final QName targetQName = QName.create(module.getNamespace(), module.getRevision(), usesGroupingName);
74 return new UsesNodeBuilderImpl(module.getModuleName(), 10, SchemaPath.create(true, targetQName));
77 protected ContainerSchemaNodeBuilder provideContainerBuilder(final String containerLocalName) {
78 final QName containerQName = QName.create(module.getNamespace(), module.getRevision(), containerLocalName);
79 SchemaPath containerPath = SchemaPath.create(true, containerQName);
81 return new ContainerSchemaNodeBuilder(module.getModuleName(), 10,
82 containerQName, containerPath);