wisdom: ONE_TO_MANY relationships lose direction on round-trip
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 86/100
Piste de recherche
Commencez dans wisdom_to_ossie.py et ossie_to_wisdom.py, puis lisez tests/test_ossie_to_wisdom.py::test_relationship_types_restored ainsi que le fixture sample_export.json. Suivez les branches de conversion de ONE_TO_MANY et mettez à jour l’attente du test. C’est terminé lorsque l’aller-retour préserve ONE_TO_MANY et que les types de relation existants non concernés restent corrects.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Summary
A Wisdom ONE_TO_MANY relationship round-trips (Wisdom->Ossie->Wisdom) to MANY_TO_ONE. The forward path sets no ai_context marker for ONE_TO_MANY (unlike ONE_TO_ONE / MANY_TO_MANY), and the reverse path defaults unmarked relationships to MANY_TO_ONE.
Root cause
Forward wisdom_to_ossie.py: the ONE_TO_MANY branch swaps from/to but leaves ai_context=None. Reverse ossie_to_wisdom.py: only one-to-one / many-to-many markers are recognized; default is MANY_TO_ONE.
Repro (real converters, HEAD ab8fc1a — EXECUTED)
Using fixture tests/fixtures/sample_export.json through both converters:
original wisdom relationshipTypes: ['MANY_TO_ONE','ONE_TO_MANY','MANY_TO_MANY','MANY_TO_ONE','MANY_TO_ONE']
after Wisdom->Ossie->Wisdom: ['MANY_TO_ONE','MANY_TO_ONE','MANY_TO_MANY','MANY_TO_ONE']
The ONE_TO_MANY at index 1 becomes MANY_TO_ONE. (Also note the relationship count dropped 5->4 in this fixture run — worth a look, but out of scope for this issue.) The wrong result is also enshrined in tests/test_ossie_to_wisdom.py::test_relationship_types_restored.
Potential fix
Emit ai_context = "one-to-many relationship" in the forward path; add an elif ...startswith("one-to-many") branch in reverse; update the test expectation.
Scope / caveats
ONE_TO_ONE / MANY_TO_MANY unaffected. From/to swap is correct; only the semantic label is lost. Fixing requires the test update.
- Langage dominant
- Python
- Étoiles
- 2.2k
- Forks
- 280
- Merge moyen
- 2 j 7 h
- PR mergées (30 j)
- 32
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de apache/ossie
-
sigma: unary negation dropped Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
Toutes les issues de apache/ossie
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100