protected JSFConfigModel createModel(FileObject fo) {
if (fo.isFolder()) {
LOG.log(Level.WARNING, "Creation of faces-config model for directory: {0}", fo.getPath());
return null;
}
JSFConfigModel model = getCachedModel(fo);
if (model == null) {
try {
ModelSource source = Utilities.createModelSource(fo, true);
Lookup lookup = source.getLookup();
lookup = new ProxyLookup(lookup, Lookups.singleton(this));
source = new ModelSource(lookup, true);
model = JSFConfigModelFactory.getInstance().getModel(source);
Node rootElement = model.getDocument().getDocumentElement();
if (rootElement == null || !JSFConfigQNames.areSameQName(JSFConfigQNames.FACES_CONFIG, (Element) rootElement)) {
return null;
} else {
putCachedModel(fo, model);
}
} catch (CatalogModelException ex) {
Exceptions.printStackTrace(ex);
}
}
return model;
}