Are you saying you only care about getting the Constructor object,
modifying it and then using it to your own ends? I assume you would then
make your own Yaml parser:

Constructor modifiedConstructor = Settings.createDefaultYamlConstructor();
// do some changes to "modifiedConstructor"....
Yaml yaml = new Yaml(modifiedConstructor);

Is that right?



On Wed, Jan 13, 2021 at 10:22 AM Jan Jansen
<[email protected]> wrote:

> Basic idea would to do following:
> https://gist.github.com/farodin91/b81f6e9bccbae88d04a0dc7006bf0b16#file-settings-java-L274-L346
>
> Greetings,
> Jan
>
>
> On 2021/01/07 17:16:36, Stephen Mallette <[email protected]> wrote:
> > Could you be more specific about what you propose in your second idea? I
> > guess i'd like to know how you would like to get the Constructor and how
> it
> > would affect the API. Thanks
> >
> > On Wed, Jan 6, 2021 at 7:13 AM <[email protected]> wrote:
> >
> > > Hi
> > >
> > >
> > > We (JanusGraph) are already automatically settings overwriting
> defaults of
> > > gremlin server settings, see here
> > >
> https://github.com/JanusGraph/janusgraph/blob/master/janusgraph-server/src/main/java/org/janusgraph/graphdb/server/utils/JanusGraphSettingsUtils.java
> .
> > > We are working on adding a GrpcServer to JanusGraph for management
> > > interactions. Therefore, we would like to extend gremlin settings with
> our
> > > own settings. The main problem is that gremlin using strict parsing of
> Yaml
> > > which is great in the most place but prevent us from easying extending
> it.
> > >
> > > I have some ideas:
> > >
> > >   *   Provide a config flag to allow unknown properties (easiest
> solution)
> > >   *   Provide a method which returns the snakeyaml Constructor
> > >
> https://github.com/apache/tinkerpop/blob/master/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/Settings.java
> ,
> > > we could use it extend the constructor our way.
> > >
> > > Our current way to use just one config:
> > >
> > >   1.  Parse our settings
> > >   2.  Parse gremlin-server.yaml as Map<string, object>
> > >   3.  Remove our custom fields
> > >   4.  Reconstruct yaml from map
> > >   5.  Parse yaml with Settings.read
> > >
> > > Any idea's?
> > >
> > > Greetings,
> > >
> > > Jan
> > >
> >
>

Reply via email to