*/
package org.opendaylight.yangtools.yang.parser.impl.util;
+import static com.google.common.base.Preconditions.checkArgument;
+
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import org.opendaylight.yangtools.concepts.AbstractObjectRegistration;
import org.opendaylight.yangtools.concepts.Identifiable;
-import org.opendaylight.yangtools.concepts.Registration;
+import org.opendaylight.yangtools.concepts.ObjectRegistration;
import org.opendaylight.yangtools.yang.model.api.Module;
import org.opendaylight.yangtools.yang.model.api.SchemaContext;
import org.opendaylight.yangtools.yang.model.util.repo.AdvancedSchemaSourceProvider;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableMap.Builder;
-import com.google.common.collect.ImmutableSet;
-
-import static com.google.common.base.Preconditions.checkArgument;
public class URLSchemaContextResolver implements AdvancedSchemaSourceProvider<InputStream> {
private YangSourceContext currentSourceContext;
private Optional<SchemaContext> currentSchemaContext = Optional.absent();
-
- public Registration<URL> registerSource(URL source) {
+
+ public ObjectRegistration<URL> registerSource(URL source) {
checkArgument(source != null, "Supplied source must not be null");
InputStream yangStream = getInputStream(source);
YangModelDependencyInfo modelInfo = YangModelDependencyInfo.fromInputStream(yangStream);
this.dependencyInfo = modelInfo;
}
+ @Override
public SourceIdentifier getIdentifier() {
return identifier;
}
ImmutableMap<SourceIdentifier, YangModelDependencyInfo> sourcesMap = builder.build();
YangSourceContext context = YangSourceContext.createFrom(sourcesMap);
LOG.debug("Trying to create schema context from {}",sourcesMap.keySet());
- LOG.debug("Ommiting {} because of unresolved dependencies",context.getMissingDependencies().keySet());
-
+
+ if (context.getMissingDependencies().size() != 0) {
+ LOG.debug("Omitting {} because of unresolved dependencies", context.getMissingDependencies().keySet());
+ LOG.debug("Missing model sources for {}", context.getMissingSources());
+ }
+
try {
if(currentSourceContext == null || !context.getValidSources().equals(currentSourceContext.getValidSources())) {
List<InputStream> streams = YangSourceContext.getValidInputStreams(context, this);
currentSchemaContext = Optional.of(schemaContext);
currentSourceContext = context;
return currentSchemaContext;
- }
+ }
currentSourceContext = context;
} catch (Exception e) {
LOG.error("Could not create schema context for {} ",context.getValidSources());