- if (qNamesEqual) {
- throw new IllegalStateException(String.format(
- "An augment cannot add node named '%s' because this name is already used in target",
- sourceCtx.rawStatementArgument()));
- }
- }
- }
-
- public static QNameModule getNewQNameModule(StatementContextBase<?, ?, ?> targetCtx,
- StatementContextBase<?, ?, ?> sourceCtx) {
- Object targetStmtArgument = targetCtx.getStatementArgument();
-
- final StatementContextBase<?, ?, ?> root = sourceCtx.getRoot();
- final QNameModule sourceQNameModule = root.getFromNamespace(ModuleCtxToModuleQName.class, root);
-
- if (targetStmtArgument instanceof QName) {
- QName targetQName = (QName) targetStmtArgument;
- QNameModule targetQNameModule = targetQName.getModule();
-
- if (targetQNameModule.equals(sourceQNameModule)) {
- return null;
- } else {
- return targetQNameModule;
- }
- } else {
- return null;
- }
- }
-
- public static boolean needToCopyByAugment(StmtContext<?, ?, ?> stmtContext) {
-
- Set<StatementDefinition> noCopyDefSet = new HashSet<>();
- noCopyDefSet.add(Rfc6020Mapping.USES);
-
- StatementDefinition def = stmtContext.getPublicDefinition();
- return !noCopyDefSet.contains(def);
- }
-
- public static boolean isReusedByAugment(StmtContext<?, ?, ?> stmtContext) {
-
- Set<StatementDefinition> reusedDefSet = new HashSet<>();
- reusedDefSet.add(Rfc6020Mapping.TYPEDEF);
-
- StatementDefinition def = stmtContext.getPublicDefinition();
-
- return reusedDefSet.contains(def);
- }
-
- public static StatementContextBase<?, ?, ?> getAugmentTargetCtx(
- final Mutable<SchemaNodeIdentifier, AugmentStatement, EffectiveStatement<SchemaNodeIdentifier, AugmentStatement>> augmentNode) {
-
- final SchemaNodeIdentifier augmentTargetNode = augmentNode.getStatementArgument();
- if (augmentTargetNode == null) {
- throw new IllegalArgumentException(
- "Augment argument null, something bad happened in some of previous parsing phases");