MavenModel (File file, MavenToken token) { MavenServerUtil.checkToken(token); try { Map<String, Object> inputOptions = new HashMap<>(); inputOptions.put(ModelProcessor.SOURCE, new FileModelSource(file)); ModelReader reader = null; if (!StringUtilRt.endsWithIgnoreCase(file.getName(), "xml")) { try { Object polyglotManager = myContainer.lookup("org.sonatype.maven.polyglot.PolyglotModelManager"); if (polyglotManager != null) { Method getReaderFor = polyglotManager.getClass().getMethod("getReaderFor", Map.class); reader = (ModelReader)getReaderFor.invoke(polyglotManager, inputOptions); } } catch (ComponentLookupException ignore) { } catch (Throwable e) { MavenServerGlobals.getLogger().warn(e); } } if (reader == null) { try { reader = myContainer.lookup(ModelReader.class); } catch (ComponentLookupException ignore) { } } if (reader != null) { try { Model model = reader.read(file, inputOptions); return Maven40ModelConverter.convertModel(model); } catch (Exception e) { MavenServerGlobals.getLogger().warn(e); } } } catch (Exception e) { MavenServerGlobals.getLogger().warn(e); } return null; }