Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JBPM-7217 Stunner - Boundary event morphing cause issues #1893

Merged
merged 1 commit into from
Jul 12, 2018

Conversation

tiagodolphine
Copy link
Contributor

Now it is possible to morph a docked Event on an activity inside a sub-process and change its locations, save and load, and undo/redo without any issues.
The problem was on the MorphCanvasNodeCommand.java that has not handling the dock/undock in case morphing a docked node.

@romartin
@LuboTerifaj
@hasys

@tiagodolphine
Copy link
Contributor Author

Jenkins execute full downstream build

Copy link
Contributor

@romartin romartin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @tiagodolphine ,

The fix looks good for me! 👍

Anyway just a comment, I was looking at the morphing stuff and it looks that we can probably move that logic about checking the parent and dock relationships, for the candidate node, into the core/shared side, isn't it?

I mean this code you updated on this commit, is only client stuff, but parent and dock relationships are in the "shared" graph structure, so this code could be also present on the "shared" morph command, right? IMO This is kinda refactors that we never have time to do but finally will blow up at some point as a bug hehe... WDYT? Makes sense? Is it possible/feasible now?

Thanks!!

@tiagodolphine
Copy link
Contributor Author

Hey @romartin well I think the issue and all the parent and docking stuff is only a problem on the client side, because if we think on the graph nothing changes, because we are only changing the content of a node, I mean we just change the references, however the relationships are preserved. The thing is, on canvas we need in fact to unegister the old shape and register the new shape, according to the node that was morphed, and as you know we have some peculiarities, on canvas the parent of a docked node should be the node where it is docked, anyway I think the parent/docking handling makes sense only on canvas command, does it makes sense or am I missing some point?
Thanks !!!

Copy link
Contributor

@LuboTerifaj LuboTerifaj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Issues are still present. If you create boundary event on task in sub-process and change type of event using morphing, the event changes its position.

@romartin
Copy link
Contributor

yeah @tiagodolphine good point, it's just pure client side stuff... it does not make sense what I said, sorry!! thanks! 👍

@tiagodolphine
Copy link
Contributor Author

hey @LuboTerifaj strange, anyway I'll check that, maybe I let something missing.

@tiagodolphine
Copy link
Contributor Author

Jenkins execute full downstream build

@tiagodolphine
Copy link
Contributor Author

@LuboTerifaj fixed, that was a a wrong calling to the dock method that should be done after the connection handling. I changed this before the first commit, sorry for that.

@tiagodolphine
Copy link
Contributor Author

@LuboTerifaj fulldownstream is ready.

@LuboTerifaj
Copy link
Contributor

Hi @tiagodolphine
It seems that it works well on tasks in sub-processes, but if you try morph event, which is on boundary of sub-process, "copy" of this event is displayed on different place in diagram. After that, if you move with any of these events (original or "copy of original"), both of them change location in the diagram.

@tiagodolphine
Copy link
Contributor Author

hey @LuboTerifaj @romartin I'll take a look on this.
Thanks.

@tiagodolphine
Copy link
Contributor Author

Jenkins execute full downstream build

@tiagodolphine
Copy link
Contributor Author

@LuboTerifaj I pushed the fix, let's wait the fulldownstream.

Thanks.

@tiagodolphine
Copy link
Contributor Author

Jenkins retest this

@tiagodolphine
Copy link
Contributor Author

Jenkins execute full downstream build

@tiagodolphine
Copy link
Contributor Author

Jenkins retest this

Copy link
Contributor

@LuboTerifaj LuboTerifaj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @tiagodolphine
It works better now, but there is still a small issue. When morphing boundary event, a quick menu is displayed for a very short time on another place on canvas. Can you fix this?
Thank you!

@LuboTerifaj
Copy link
Contributor

Hi @tiagodolphine
I have found one more issue related to morphing. When you create boundary event and change its type using morphing, then resize an activity, position of this event is changed to another edge of activity.

@tiagodolphine
Copy link
Contributor Author

Hi @LuboTerifaj ok, thanks for the review, I'll check the issues you found.

@tiagodolphine
Copy link
Contributor Author

Jenkins execute full downstream build

@tiagodolphine
Copy link
Contributor Author

@LuboTerifaj is it ready to review. Tks.

@tiagodolphine
Copy link
Contributor Author

hey @LuboTerifaj if you have a chance to review this before the release it would be great.
Thanks

@tiagodolphine
Copy link
Contributor Author

Hey @romartin I think @LuboTerifaj is on PTO, so if this is important to the release we should review and merge ASAP, anyone else to help on this? After merge it is necessary the cherry-pick to 7.7.x.

@romartin
Copy link
Contributor

romartin commented Jul 5, 2018

Hey @tiagodolphine
Thanks for the good job man, it works great in general - tested all comments from lubo and they work fine, but still found a couple of issues:

  1. Consider the following process

screenshot from 2018-07-05 23-14-48

When deleting the intermediate timer event docked to the task, and undoing, the event is no longer docked to the task, and so it appears on the wrong location, see:

screenshot from 2018-07-05 23-15-12

2.- Minor thing - when deleting the intermediate event mentioned above, the contextual menu appears for a second in some canvas location.. same thing as @LuboTerifaj reported, but when deleting the event.

So I don't know if these issues found are related to this change, as you're currently working on more commits about docking, what do you prefer? we can open a ticket and fix those later, or in any of your further commits, or waiting to fix and merge.

Thx!!

@romartin
Copy link
Contributor

romartin commented Jul 5, 2018

@tiagodolphine just realized the bugs above are about docking, not morphing, so if they're not easy to fix we can open a ticket and address it later. Up to you! Thanks

@tiagodolphine
Copy link
Contributor Author

@romartin ok I'll take a look to see if it is be feasible to fix.

Thanks.

@tiagodolphine
Copy link
Contributor Author

hey @romartin I investigated and the issue is related to the DeleteCanvasNodeCommand that should consider whether the deleted node is docked in case of undo.
Anyway this is not related to this PR that mainly consider morphing, IMO we can open a new JIRA for this issue.
If there aren't other issues we can proceed to merge and cherry pick.

JBPM-7217 fix error on docked node position inside subprocess after morph

JBPM-7217 fix error on docked node morphing on subprocess

JBPM-7217 fix toolbox animation during morphing
@tiagodolphine
Copy link
Contributor Author

Jenkins execute full downstream build

1 similar comment
@tiagodolphine
Copy link
Contributor Author

Jenkins execute full downstream build

@tiagodolphine
Copy link
Contributor Author

Jenkins retest this

@romartin
Copy link
Contributor

hey @tiagodolphine @LuboTerifaj what's the status for this? Thx!

@LuboTerifaj
Copy link
Contributor

Jenkins execute full downstream build

@LuboTerifaj
Copy link
Contributor

Hi @romartin
As you can see, there is a problem with full downstream build.

@tiagodolphine
Copy link
Contributor Author

@LuboTerifaj yeah it is faling to an unrelated issue
Could not resolve dependencies for project org.kie:kie-tomcat-integration:jar:7.9.0-SNAPSHOT
... well let's try to trigger the full downstream again

@tiagodolphine
Copy link
Contributor Author

Jenkins execute full downstream build

1 similar comment
@LuboTerifaj
Copy link
Contributor

Jenkins execute full downstream build

Copy link
Contributor

@LuboTerifaj LuboTerifaj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @tiagodolphine
except last bug, that @romartin mentioned, it looks that it works great! :) I think it can be merged. Just one question, is that issue already reported or shall I report it?
Thank you, great job!

@tiagodolphine
Copy link
Contributor Author

@LuboTerifaj I'm fixing this on the other PR #1952

@LuboTerifaj
Copy link
Contributor

@tiagodolphine
Oh yes, great, thank you.

@romartin romartin merged commit 5a4ac4b into kiegroup:master Jul 12, 2018
jomarko pushed a commit to jomarko/kie-wb-common that referenced this pull request Aug 3, 2018
- fix error on docked node position inside subprocess after morph
- fix error on docked node morphing on subprocess
- fix toolbox animation during morphing
jeremyary pushed a commit to jeremyary/kie-wb-common that referenced this pull request Aug 31, 2018
- fix error on docked node position inside subprocess after morph
- fix error on docked node morphing on subprocess
- fix toolbox animation during morphing
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants