private synchronized void initializeParser() throws NoSuchMethodException, InvocationTargetException, IllegalAccessException, IOException, InstantiationException { if (parser == null) { Extensions<JsonNode> extensions = new Extensions<>(); extensions.addDefaultExtensions(); Map<String, DataSourceConfiguration> ds = datasources.getDataSources(); for (Map.Entry<String, DataSourceConfiguration> entry : ds.entrySet()) { Class<? extends DataStoreParser> tempParser = entry.getValue().getMetadataDataStoreParser(); DataStoreParser backendParser = tempParser.newInstance(); extensions.registerDataStoreParser(backendParser.getDefaultName(), backendParser); } parser = new JSONMetadataParser(extensions, new DefaultTypes(), NODE_FACTORY); } }
private synchronized void initializeParser() throws NoSuchMethodException, InvocationTargetException, IllegalAccessException, IOException, InstantiationException { if (parser == null) { Extensions<JsonNode> extensions = new Extensions<>(); extensions.addDefaultExtensions(); Map<String, DataSourceConfiguration> ds = datasources.getDataSources(); for (Map.Entry<String, DataSourceConfiguration> entry : ds.entrySet()) { Class<? extends DataStoreParser> tempParser = entry.getValue().getMetadataDataStoreParser(); DataStoreParser backendParser = tempParser.newInstance(); injectDependencies(backendParser); extensions.registerDataStoreParser(backendParser.getDefaultName(), backendParser); } parser = new JSONMetadataParser(extensions, new DefaultTypes(), NODE_FACTORY); } }
private synchronized void initializeParser() throws NoSuchMethodException, InvocationTargetException, IllegalAccessException, IOException, InstantiationException { if (parser == null) { Extensions<JsonNode> extensions = new Extensions<>(); extensions.addDefaultExtensions(); Map<String, DataSourceConfiguration> ds = datasources.getDataSources(); for (Map.Entry<String, DataSourceConfiguration> entry : ds.entrySet()) { Class<? extends DataStoreParser> tempParser = entry.getValue().getMetadataDataStoreParser(); DataStoreParser backendParser = tempParser.newInstance(); injectDependencies(backendParser); extensions.registerDataStoreParser(backendParser.getDefaultName(), backendParser); } parser = new JSONMetadataParser(extensions, new DefaultTypes(), NODE_FACTORY); } }
/** * Creates an instance of {@link JSONMetadataParser}. * * @param backend - Name of backend to use. * @param fieldConstraintParsers - <i>(optional)</i> * {@link FieldConstraintParser}s to register on the {@link Extensions} used * to parse the {@link EntityMetadata}. If <code>null</code> then nothing * will be set. * @return An instance of {@link JSONMetadataParser}. */ public static JSONMetadataParser createJSONMetadataParser( String backend, Map<String, ? extends FieldConstraintParser<JsonNode>> fieldConstraintParsers) { FakeDataStoreParser<JsonNode> dsParser = new FakeDataStoreParser<>(backend); Extensions<JsonNode> extensions = new Extensions<>(); extensions.registerDataStoreParser(dsParser.getDefaultName(), dsParser); extensions.addDefaultExtensions(); if (fieldConstraintParsers != null) { for (Entry<String, ? extends FieldConstraintParser<JsonNode>> checker : fieldConstraintParsers.entrySet()) { extensions.registerFieldConstraintParser(checker.getKey(), checker.getValue()); } } return new JSONMetadataParser( extensions, new DefaultTypes(), JsonNodeFactory.withExactBigDecimals(false)); }