BUG-865: deprecate pre-Beryllium parser elements
[yangtools.git] / yang / yang-parser-impl / src / test / java / org / opendaylight / yangtools / yang / parser / builder / impl / AbstractBuilderTest.java
1 package org.opendaylight.yangtools.yang.parser.builder.impl;
2
3 import com.google.common.base.Optional;
4 import java.net.URI;
5 import java.text.DateFormat;
6 import java.text.SimpleDateFormat;
7 import java.util.Date;
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;
15
16 /**
17  * Created by lukas on 10/14/14.
18  *
19  * @deprecated Pre-Beryllium implementation, scheduled for removal.
20  */
21 @Deprecated
22 public abstract class AbstractBuilderTest {
23
24     protected final static String MODULE_NAMESPACE = "urn:opendaylight.rpc:def:test-model";
25     protected final static String REVISION = "2014-10-06";
26     protected final static String MODULE_NAME = "test-module";
27     protected final static DateFormat SIMPLE_DATE_FORMAT = new SimpleDateFormat("yyyy-mm-dd");
28     protected final static String MODULE_PATH = "test/module/path/test-module@" + REVISION + ".yang";
29
30     protected ModuleBuilder module;
31
32     @Before
33     public void setUp() throws Exception {
34         module = new ModuleBuilder(MODULE_NAME, MODULE_PATH);
35         final Date moduleRevision = SIMPLE_DATE_FORMAT.parse(REVISION);
36         module.setRevision(moduleRevision);
37         module.setNamespace(URI.create(MODULE_NAMESPACE));
38         module.setPrefix("mod");
39     }
40
41     protected MustDefinition provideMustDefinition() {
42         return MustDefinitionImpl.create("must-condition == value",
43             Optional.fromNullable("desc"), Optional.fromNullable("reference"), Optional.fromNullable("error-apptag"),
44             Optional.fromNullable("error-message"));
45     }
46
47     protected UnknownSchemaNodeBuilder provideUnknownNodeBuilder() {
48         final QName unknownType = QName.create(module.getNamespace(), module.getRevision(), "unknown-type");
49         final QName unknownNode = QName.create(module.getNamespace(), module.getRevision(), "unknown-ext-use");
50         final SchemaPath unknownNodePath = SchemaPath.create(true, unknownNode);
51         final UnknownSchemaNodeBuilder unknownNodeBuilder = new UnknownSchemaNodeBuilderImpl(module.getModuleName(),
52             25, unknownNode, unknownNodePath);
53         unknownNodeBuilder.setNodeType(unknownType);
54         return unknownNodeBuilder;
55     }
56
57     protected UnknownSchemaNodeBuilder provideUnknownNodeBuilder(final QName innerPathSegment) {
58         final QName unknownType = QName.create(module.getNamespace(), module.getRevision(), "unknown-type");
59         final QName unknownNode = QName.create(module.getNamespace(), module.getRevision(), "unknown-ext-use");
60         final SchemaPath unknownNodePath = SchemaPath.create(true, innerPathSegment, unknownNode);
61         final UnknownSchemaNodeBuilder unknownNodeBuilder = new UnknownSchemaNodeBuilderImpl(module.getModuleName(),
62             25, unknownNode, unknownNodePath);
63         unknownNodeBuilder.setNodeType(unknownType);
64         return unknownNodeBuilder;
65     }
66
67     protected ChoiceBuilder provideChoiceBuilder(final String choiceLocalName) {
68         final QName choiceName = QName.create(module.getNamespace(), module.getRevision(), choiceLocalName);
69         final SchemaPath choicePath = SchemaPath.create(true, choiceName);
70         final ChoiceBuilder choiceBuilder = new ChoiceBuilder(module.getModuleName(), 22, choiceName, choicePath);
71
72         return choiceBuilder;
73     }
74
75     protected UsesNodeBuilder provideUsesNodeBuilder(final String usesGroupingName) {
76         final QName targetQName = QName.create(module.getNamespace(), module.getRevision(), usesGroupingName);
77         return new UsesNodeBuilderImpl(module.getModuleName(), 10, SchemaPath.create(true, targetQName));
78     }
79
80     protected ContainerSchemaNodeBuilder provideContainerBuilder(final String containerLocalName) {
81         final QName containerQName = QName.create(module.getNamespace(), module.getRevision(), containerLocalName);
82         SchemaPath containerPath = SchemaPath.create(true, containerQName);
83
84         return new ContainerSchemaNodeBuilder(module.getModuleName(), 10,
85             containerQName, containerPath);
86     }
87 }