*/
package org.opendaylight.yangtools.yang.model.export;
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Verify.verify;
import static java.util.Objects.requireNonNull;
import static org.eclipse.jdt.annotation.DefaultLocation.PARAMETER;
import static org.eclipse.jdt.annotation.DefaultLocation.RETURN_TYPE;
import java.util.Deque;
import java.util.Iterator;
import java.util.Map;
+import java.util.Optional;
import java.util.Queue;
import java.util.Set;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.common.QNameModule;
-import org.opendaylight.yangtools.yang.common.YangConstants;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
// Add statement prefixed with namespace if needed
final QName stmtName = def.getStatementName();
- addNamespace(stmtName.getModule());
+ final Optional<String> prefix = ExportUtils.statementPrefix(namespaces, stmtName);
+ if (prefix.isPresent()) {
+ strings.add(prefix.get());
+ strings.add(":");
+ }
strings.add(stmtName.getLocalName());
// Add argument, quoted and properly indented if need be
}
}
- private void addNamespace(final QNameModule namespace) {
- if (YangConstants.RFC6020_YIN_MODULE.equals(namespace)) {
- // Default namespace, no prefix needed
- return;
- }
-
- final @Nullable String prefix = namespaces.get(namespace);
- checkArgument(prefix != null, "Failed to find prefix for namespace %s", namespace);
- verify(!prefix.isEmpty(), "Empty prefix for namespace %s", namespace);
- strings.add(prefix);
- strings.add(":");
- }
-
private void addArgument(final StatementDefinition def, final @Nullable String arg) {
if (arg == null) {
// No argument, nothing to do