Community
Participate
Working Groups
Currently, Dot2ZestGraphCopier and Dot2ZestAttributesConverter are created in-place. Therefore, their implementation cannot be easily exchanged, for example, by specifying a binding in the Guice module. We should instead specify bindings for Dot2ZestGraphCopier and/or Dot2ZestAttributesConverter so that their implementation can easily be exchanged. Moreover, we should enhance the API of Dot2ZestAttributesConverter so that conversion of specific attributes can be extended on. This requires a pattern similar to that used in the Guice modules, i.e. performing the conversion of a single attribute in a single method, e.g. convertDotShapeToZestShape(dot, zest), convertDotIdToZestCssId(dot, zest), etc..
I pushed the following changes to origin/master: [530644] Enhance extensibility of Dot2ZestGraphCopier/Attr.Converter. - Modify the DotGraphView to use injection for its Dot2ZestGraphCopier field instead of instantiating the class in a hard-wired manner. This enables the usage of a custom Dot2ZestGraphCopier class by defining the corresponding binding in the DotGraphViewModule class. - Extend the Dot2ZestGraphCopier by an additional constructor to enable the usage of a custom Dot2ZestAttributesConverter within a custom Dot2ZestGraphCopier class. The Dot2ZestAttributesConverter still should be refactored to offer more smaller methods (instead of less huge ones) for the attribute conversion to enable easier customization.
I pushed the following changes to master: [530644] Implement additional Dot2ZestGraphCopierTests test cases. - Add TODO statements to keep track of remaining work. The next steps would be to implement these test methods to provide test cases for the Dot2ZestGraphCopier/Dot2ZestAttributesConverter classes before refactoring.