*/
package org.opendaylight.yangtools.yang.parser.builder.impl;
+import com.google.common.base.Preconditions;
import com.google.common.io.ByteSource;
import java.io.IOException;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
+
import org.apache.commons.io.IOUtils;
import org.opendaylight.yangtools.yang.common.QName;
+import org.opendaylight.yangtools.yang.common.QNameModule;
import org.opendaylight.yangtools.yang.model.api.AugmentationSchema;
import org.opendaylight.yangtools.yang.model.api.Deviation;
import org.opendaylight.yangtools.yang.model.api.ExtensionDefinition;
private final String name;
private final String sourcePath;
private static final SchemaPath SCHEMA_PATH = SchemaPath.create(Collections.<QName> emptyList(), true);
- private URI namespace;
private String prefix;
- private Date revision;
+ private QNameModule qnameModule = QNameModule.create(null, null);
private final boolean submodule;
private String belongsTo;
submodule = false;
yangVersion = base.getYangVersion();
actualPath.push(this);//FIXME: this escapes constructor
- namespace = base.getNamespace();
prefix = base.getPrefix();
- revision = base.getRevision();
+ qnameModule = base.getQNameModule();
augments.addAll(base.getAugmentations());
rpcs.addAll(base.getRpcs());
}
public URI getNamespace() {
- return namespace;
+ return qnameModule.getNamespace();
+ }
+
+ public QNameModule getQNameModule() {
+ return qnameModule;
+ }
+
+ public void setQNameModule(final QNameModule qnameModule) {
+ this.qnameModule = Preconditions.checkNotNull(qnameModule);
}
public void setNamespace(final URI namespace) {
- this.namespace = namespace;
+ this.qnameModule = QNameModule.create(namespace, qnameModule.getRevision());
}
public String getPrefix() {
}
public Date getRevision() {
- return revision;
+ return qnameModule.getRevision();
}
protected Set<ModuleImport> getImports() {
}
public void setRevision(final Date revision) {
- this.revision = revision;
+ this.qnameModule = QNameModule.create(qnameModule.getNamespace(), revision);
}
public void setPrefix(final String prefix) {
final int prime = 31;
int result = 1;
result = prime * result + ((name == null) ? 0 : name.hashCode());
- result = prime * result + ((namespace == null) ? 0 : namespace.hashCode());
- result = prime * result + ((revision == null) ? 0 : revision.hashCode());
+ result = prime * result + qnameModule.hashCode();
result = prime * result + ((prefix == null) ? 0 : prefix.hashCode());
return result;
} else if (!name.equals(other.name)) {
return false;
}
- if (namespace == null) {
- if (other.namespace != null) {
- return false;
- }
- } else if (!namespace.equals(other.namespace)) {
+ if (!qnameModule.equals(other.qnameModule)) {
return false;
}
if (prefix == null) {
} else if (!prefix.equals(other.prefix)) {
return false;
}
- if (revision == null) {
- if (other.revision != null) {
- return false;
- }
- } else if (!revision.equals(other.revision)) {
- return false;
- }
return true;
}