[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [bpel-dev] inconsistency in o.e.bpel.ui.editparts.ActivityEditPart.addAllAdapters
|
Hey Vitaly,
I am OK with rewriting. The only think I'd suggest is testing well with
add/remove/undo/redo and see if anything goes wrong.
Cheers
Simon
Simon Moser, M.Eng.
Websphere Integration Mail: IBM Deutschland Entwicklung
Developer Development smoser@xxxxxx. GmbH
Team Lead BPEL Editor com Vorsitzender des
Dept. 4722, Bldg. Phone: Aufsichtsrats: Martin Jetter
71032-01, Room 086 +49-7031-16-43 Geschäftsführung: Herbert
Websphere Solutions and 04 Kircher
Services Fax: Sitz der Gesellschaft:
IBM Deutschland +49-7031-16-48 Böblingen
Entwicklung GmbH 90 Registergericht: Amtsgericht
Schönaicherstr. 220, D – Stuttgart, HRB 243294
71032 Boeblingen
"Tishkov, Vitaly
V"
<vitaly.v.tishkov To
@intel.com> "BPEL Designer project developer
Sent by: discussions."
bpel-dev-bounces@ <bpel-dev@xxxxxxxxxxx>
eclipse.org cc
Subject
08/13/2007 03:00 [bpel-dev] inconsistency in
PM o.e.bpel.ui.editparts.ActivityEditP
art.addAllAdapters
Please respond to
"BPEL Designer
project developer
discussions."
<bpel-dev@eclipse
.org>
Hi there,
During my work on synchronizing src and design tabs for Flow I’ve found a
little inconsistency in
o.e.bpel.ui.editparts.ActivityEditPart.addAllAdapters():
protected void addAllAdapters() {
super.addAllAdapters();
Sources sources = getActivity().getSources();
if (sources != null) {
adapter.addToObject(sources);
for (Iterator it = sources.getChildren().iterator();
it.hasNext(); ) {
Source source = (Source)it.next();
// also include the link, if there is one (since we
indirectly
// control the activation of the LinkEditPart)
if (source.getLink() != null) adapter
.addToObject(source.getLink());
// Okay--the real problem here, is that the
Activity might be
// referred to by a Source object, but the Activity
is not going
// to find out about the creation of a new Sources
that references
// it. Therefore, our model listeners don't know
what to do!
// TODO: temporarily hacked around in
FlowEditPart.FlowContentAdapter.
// TODO: also include any parent flows, and the
Links object of
// any parent flows that have one. !
// TODO: in future, use a global listener to handle
refreshing the
// correct source editpart.
}
}
Targets targets = getActivity().getTargets();
if (targets != null) {
adapter.addToObject(targets);
for (Iterator it = targets.getChildren().iterator();
it.hasNext(); ) {
adapter.addToObject((Target)it.next());
}
}
}
Please note that if you remove all the comments then the method will look
this way:
protected void addAllAdapters() {
super.addAllAdapters();
Sources sources = getActivity().getSources();
if (sources != null) {
adapter.addToObject(sources);
for (Iterator it = sources.getChildren().iterator();
it.hasNext(); ) {
Source source = (Source)it.next();
if (source.getLink() != null) adapter
.addToObject(source.getLink());
}
}
Targets targets = getActivity().getTargets();
if (targets != null) {
adapter.addToObject(targets);
for (Iterator it = targets.getChildren().iterator();
it.hasNext(); ) {
adapter.addToObject((Target)it.next());
}
}
}
This inconsistent behavior leads to different sets of eAdapters created for
SourceImpl and TargetImpl (try to set breakpoints at the end of
SourceImpl.setActivity() and TargetImpl.setActivity() to ensure that.
The different sets of eAdapters is an obstacle for restoring links in the
design tab when editing the source tab.
The question:
is there any reason not to make the ‘sources’ part of the method be similar
to the ‘target’ part, i.e. the method will look this way:
protected void addAllAdapters() {
super.addAllAdapters();
Sources sources = getActivity().getSources();
if (sources != null) {
adapter.addToObject(sources);
for (Iterator it = sources.getChildren().iterator();
it.hasNext(); ) {
adapter.addToObject((Source)it.next());
}
}
Targets targets = getActivity().getTargets();
if (targets != null) {
adapter.addToObject(targets);
for (Iterator it = targets.getChildren().iterator();
it.hasNext(); ) {
adapter.addToObject((Target)it.next());
}
}
}
If it’s OK to rewrite the ‘source’ part of the method then I’ll file a bug
and submit a patch.
Thanks,
Vitaly._______________________________________________
bpel-dev mailing list
bpel-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/bpel-dev