2016-11-14 2 views
0

Jsonschema2pojo verhält sich korrekt. Ich möchte jedoch sein Verhalten ändern. Nachdem ich Jsonschema2pojo ausgeführt habe, habe ich meine Top-Level-Klassen (14 davon) und 14 Mitgliedsklassen. Die Mitgliedsklassen sehen aus wie "WatchSpecs.java", "WatchSpecs_.java", "WatchSpecs__.java", "WatchSpecs___.java", "WatchSpecs____.java" usw. Also habe ich am Ende 14 Klassen, die genau gleich sind haben unterschiedliche Namen.jsonschema2pojo doppelte Klassen (nicht doppelte Klassennamen)

Gibt es eine Möglichkeit, dies zu ändern?

Danke

p.s. Ich benutze keine Ameise oder Maven. Verwenden von Eclipse und einschließlich der Gläser.

// Versions 
jsonschema2pojo-core-0.4.27 
codemodel-2.4.1 
jackson-annotations-2.6.3 
jackson-core-2.6.3 
jackson-databind-2.6.3 
commons-lang-2.5 
commons-lang3-3.4 

Antwort

0

Wenn Sie Klassen verschachtelt haben, können Sie die ObjectRule.java ändern und RuleFactory.java ein wenig. Ich habe einen Hash von Klassennamen, JSON-Knoten und das Paket mit dem MD5-Algorithmus erstellt und in einer Karte gespeichert. Bevor ich eine neue Klasse erstelle, überprüfe ich einfach, ob es bereits Hash in der HashMap gibt. In diesem Fall gebe ich einfach die Klasse zurück, die diesem Hash entspricht.

Check my commit here : mdfaizanali786/[email protected]#diff-7fef584364765f2bd47a596ad18cecc4 

Wenn Sie Top-Level-Duplikat-Klassen können Sie das Schema holen, jsonify es und dann wieder die Kontrolle tun, dass es nicht identisch ist.