Bug 244506 - Links between workflow ports can be created only in one direction
Summary: Links between workflow ports can be created only in one direction
Status: ASSIGNED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: Geclipse (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Ashish Thandavan CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-08-19 02:51 EDT by Mariusz Wojtysiak CLA
Modified: 2014-01-09 16:01 EST (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mariusz Wojtysiak CLA 2008-08-19 02:51:21 EDT
1. Create workflow with 2 jobs: A, B
2. In job A create output port
3. In job B create input port
4. Drag output port B and drop input input port A

Result:
Nothing happens.
User has to do it in other direction: drag input port A and drop onto output port B
Comment 1 David Johnson CLA 2008-08-19 05:41:32 EDT
Hmmm yes, that's strange. Seems to work on Linux on my machine correctly, so will check on Windows shortly too to be sure.
Comment 2 David Johnson CLA 2008-09-02 05:54:01 EDT
I still think this is wrong as I have been unable to recreate this bug on any platform.
Comment 3 Mariusz Wojtysiak CLA 2008-09-04 02:42:36 EDT
In M9 problem still exists.
Let's mett together on EVO - I will show you it.
Comment 4 David Johnson CLA 2008-09-04 03:27:53 EDT
Just to be absolutely clear...

(In reply to comment #0)
> 1. Create workflow with 2 jobs: A, B
> 2. In job A create output port
> 3. In job B create input port

Job A has output port (A, output)
Job B has input port (B, input)

Therefore, expected behaviour should allow connecting A->B (output->input)

> 4. Drag output port B and drop input input port A
> 
> Result:
> Nothing happens.

So yes, nothing should happen if you did B->A (input->output), however you've said in (4) that you tried output on B to input on A ((B, output)->(A, input)), which is different to what you described in points 1-3.

Can you maybe double-check what the property view says when selecting the port on the diagram (just to check port type).

I will download M9 build again to check myself right now, as when you originally reported the bug I was checking against HEAD on my development machine, so maybe there's some differences with the built version, but really nothing had changed with regards to the graphical model so I can't see any way how this could have happened.
Comment 5 Mariusz Wojtysiak CLA 2008-09-04 03:59:11 EDT
I agree with you: point 4. has wrong description.
Should be: 4. Drag _input_ port B and drop onto _output_ input port A

I know that in my case user make it in reverse direction by connecting end with start.

But from user point of view: he want to connect two ports. So he should just only point those two ports, but correct direction should be "calculated" automatically by editor, especially that only one direction is valid!
Assuming: I would allow user to connect in two directions: A->B or B->A, but as a result always should be created A->B link.
Comment 6 David Johnson CLA 2008-09-04 04:06:32 EDT
(In reply to comment #5)
> 
> But from user point of view: he want to connect two ports. So he should just
> only point those two ports, but correct direction should be "calculated"
> automatically by editor, especially that only one direction is valid!
> Assuming: I would allow user to connect in two directions: A->B or B->A, but as
> a result always should be created A->B link.
> 

Aaaah I think I see your point now.

So yes, the editor as it is only allows the user to create connections in the single valid direction (so only outputs to inputs will work), and this was a constraint Ashish put on the model so that links could not be created in the wrong direction by users, and it is therefore normal behaviour.

I will leave it to him to further comment on this and whether it should be changed.
Comment 7 Ashish Thandavan CLA 2008-09-04 04:46:34 EDT
(In reply to comment #6)

> 
> Aaaah I think I see your point now.
> 
> So yes, the editor as it is only allows the user to create connections in the
> single valid direction (so only outputs to inputs will work), and this was a
> constraint Ashish put on the model so that links could not be created in the
> wrong direction by users, and it is therefore normal behaviour.
> 
> I will leave it to him to further comment on this and whether it should be
> changed.
> 

I've just checked for the original reported behaviour on M9 on Mac OS and I cannot reproduce it. Having two jobs, A & B, with an output port and an input port respectively, you cannot create a link by dragging the input port on to the output port. Also, you cannot create a link by dragging the output port onto the input port. A link can only be created when the Link tool is selected, and is drawn from Output port to Input Port. 

I agree, that a useful feature to have would be the one Mariusz describes in comment #5. Will add it to list of desirable features.
Comment 8 David Johnson CLA 2008-09-04 05:18:46 EDT
(In reply to comment #7)
> Also, you cannot create a link by dragging the output port
> onto the input port. 

Although thinking about it, that could be useful type of functionality as well- so drag an output port and drop on another job, to automatically create an input port on target job, updates the JSDL associated with it (e.g. in input staging) and the corresponding link. So add that to the wish list too.
Comment 9 Mariusz Wojtysiak CLA 2008-09-04 05:26:32 EDT
One more point I missed in steps to reproduce is:
3a Press Link tool :-)

So at whole time I means: using Link tool drag Input port and drop onto Output (and vice versa).

But of course doing it without enabling Link tool is also a nice feature :-)