[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
RE: [dsdp-tm-dev] RSE Extension Help
|
Thanks, that fixes it for Shell Settings. I will
study the Shell Settings design to figure out what I am doing
differently.
Tom
Hi Tom, For the SystemShellPropertyPage problem, I modified the
RemoteCmdSubSystem.setShellEncoding() method to have the setDirty() and commit()
methods. For me it fixed the problem - and that change should be in CVS.
____________________________________
David McKnight
Phone: 905-413-3902 , T/L: 969-3902
Internet:
dmcknigh@xxxxxxxxxx
Mail:
D1/619/8200/TOR
____________________________________
"Hochstein Tom-R60874"
<Tom.Hochstein@xxxxxxxxxxxxx> Sent by: dsdp-tm-dev-bounces@xxxxxxxxxxx
16/06/2006 12:11 PM
Please respond
to Target Management developer discussions
<dsdp-tm-dev@xxxxxxxxxxx> |
|
To
| "Target Management developer
discussions" <dsdp-tm-dev@xxxxxxxxxxx>
|
cc
|
|
Subject
| RE: [dsdp-tm-dev] RSE Extension
Help |
|
Hi Dave, Your new code mirrors what I'm doing.
I added it
to SystemShellPropertyPage.java, but getPropertySet() and createPropertySet()
didn't compile until I retargeted them to (ISubSystem)getElement(). Did I
put setShellEncoding() in the right place?
Unfortunately, this didn't fix Shell
Settings persistence for me. The call setShellEncoding() is never made.
Do you have some other relevant changes that aren't yet in CVS?
Tom
From: dsdp-tm-dev-bounces@xxxxxxxxxxx
[mailto:dsdp-tm-dev-bounces@xxxxxxxxxxx] On Behalf Of David
McKnight
Sent: Thursday, June 15, 2006 3:07 PM
To: Target
Management developer discussions
Cc: Target Management developer
discussions; dsdp-tm-dev-bounces@xxxxxxxxxxx
Subject: RE:
[dsdp-tm-dev] RSE Extension Help
Hi Tom,
Thanks for letting me know about the Shell Settings
property page. This is turning into a very useful way of nailing some
nasty bugs! The problem was that we weren't persisting the subsystem after
the properties were created. I had to implement the
cmdsubsystem.setShellEncoding() method with additional lines for marking it
dirty and committing the changes:
public void
setShellEncoding(String encoding)
{
IPropertySet set = getPropertySet("IBM");
if (set ==
null)
{
set =
createPropertySet("IBM",
getDescription());
}
set.addProperty("shell.encoding",
encoding);
setDirty(true); // added
commit(); // added
}
That may
be what you need to ensure your properties get persisted. Let me know
wether that helps.
____________________________________
David McKnight
Phone: 905-413-3902 , T/L: 969-3902
Internet:
dmcknigh@xxxxxxxxxx
Mail:
D1/619/8200/TOR
____________________________________
"Hochstein Tom-R60874"
<Tom.Hochstein@xxxxxxxxxxxxx> Sent by:
dsdp-tm-dev-bounces@xxxxxxxxxxx
15/06/2006 03:05 PM
Please respond
to Target Management developer discussions
<dsdp-tm-dev@xxxxxxxxxxx> |
|
To
| "Target Management
developer discussions" <dsdp-tm-dev@xxxxxxxxxxx>
|
cc
|
|
Subject
| RE: [dsdp-tm-dev] RSE Extension
Help |
|
Hi
Dave,
So the good news is that the Windows Shells > Server Connection
Settings property page (ServerConnectionSecurityPropertyPage.java) persistence
is now working for me. The bad news is _my_ subsystem persistence is not.
What's more, I've also found that the Windows Shells > Shell Settings
property page (SystemShellPropertyPage.java) is not persistent. Looking at
the code briefly, I see that the two Windows property pages are implemented
differently, with the latter implemented more like mine.
A curiosity is that
ServerConnectionSecurityPropertyPage is derived from
ISystemConnectionWizardPropertyPage, thought in fact it doesn't appear in the
New Connection wizard.
Can you see if you can duplicate the problem with the
Shell Settings property page? Should I concentrate on mimicking the way
that ServerConnectionSecurityPropertyPage provides persistence?
Tom
From: dsdp-tm-dev-bounces@xxxxxxxxxxx
[mailto:dsdp-tm-dev-bounces@xxxxxxxxxxx] On Behalf Of David
McKnight
Sent: Monday, June 12, 2006 9:08 AM
To: Target
Management developer discussions
Cc: Target Management developer
discussions; dsdp-tm-dev-bounces@xxxxxxxxxxx
Subject: RE:
[dsdp-tm-dev] RSE Extension Help
Hi Tom,
There have been a number of changes to the way
persistence works so I'd suggest updating from CVS and see if there's a
difference. I'm not sure if updating Eclipse would make any difference.
I haven't looked in detail at the windows shell subsystem thing yet - at
first glance it seemed to be working for me. Let me know how it goes with
the updated RSE.
Thanks,
____________________________________
David McKnight
Phone: 905-413-3902 , T/L: 969-3902
Internet:
dmcknigh@xxxxxxxxxx
Mail:
D1/619/8200/TOR
____________________________________
"Hochstein Tom-R60874"
<Tom.Hochstein@xxxxxxxxxxxxx> Sent by:
dsdp-tm-dev-bounces@xxxxxxxxxxx
12/06/2006 09:38 AM
Please respond
to Target Management developer discussions
<dsdp-tm-dev@xxxxxxxxxxx> |
|
To
| "Target Management
developer discussions" <dsdp-tm-dev@xxxxxxxxxxx>
|
cc
|
|
Subject
| RE: [dsdp-tm-dev] RSE Extension
Help |
|
Hi
Dave,
Unfortunately I had already fixed setDirty() in my local sources and
didn't see the problem go away. Can you duplicate the problem using the
Windows Shell Subsystem as I mentioned below? FYI, I think I pulled my
sources from CVS early May. Should I update? If so, should I update
Eclipse as well? I'm currently on RC3.
Tom
From: dsdp-tm-dev-bounces@xxxxxxxxxxx
[mailto:dsdp-tm-dev-bounces@xxxxxxxxxxx] On Behalf Of David
McKnight
Sent: Monday, June 12, 2006 8:08 AM
To: Target
Management developer discussions
Cc: Target Management developer
discussions; dsdp-tm-dev-bounces@xxxxxxxxxxx
Subject: RE:
[dsdp-tm-dev] RSE Extension Help
Hi Tom,
Thanks for mentioning the SubSystem.setDirty() problem.
That turns out to be a bug responsible for some other problems too.
It's fixed now (in CVS) and I'm hoping that should fix the problem you hit
too.
____________________________________
David McKnight
Phone: 905-413-3902 , T/L: 969-3902
Internet:
dmcknigh@xxxxxxxxxx
Mail:
D1/619/8200/TOR
____________________________________
"Hochstein Tom-R60874"
<Tom.Hochstein@xxxxxxxxxxxxx> Sent by:
dsdp-tm-dev-bounces@xxxxxxxxxxx
09/06/2006 06:25 PM
Please respond
to Target Management developer discussions
<dsdp-tm-dev@xxxxxxxxxxx> |
|
To
| "Target Management
developer discussions" <dsdp-tm-dev@xxxxxxxxxxx>
|
cc
|
|
Subject
| RE: [dsdp-tm-dev] RSE Extension
Help |
|
Hi
Dave,
Thanks for the tip.
I'm using your suggestion, but I'm having troubles
persisting my ISubSystem data. From applyValues(), I'm calling
SubSystem.setDirty(true) and then SubSystem.commit(), which in turn calls
RSEPersistenceManager.commit(ISubSystem). This last call looks to see if
the ISubSystem is dirty, but then it requests a commit of ISystemProfileManager
with no more mention of the ISubSystem.
I checked and I see that the Windows Shells
Subsystem seems to behave similarly. E.g. if I disable 'Alert me when
connecting using SSL' in Server Connection Security and save it, it is enabled
again after I shutdown and restart Eclipse. Perhaps this is a known
issue?
Another anomaly that I thought I'd mention is that
SubSystem.setDirty(boolean f) ignores the boolean input and always sets the
_isDirty flag to false.
BTW, I figured out my earlier problem with the multiple calls.
It was a debugger quirk where a breakpoint set on an instruction like
this:
return
new TapSubsystem(host, getConnectorService(host),
createTapService(host));
will break twice for
each single invocation.
Tom
From: dsdp-tm-dev-bounces@xxxxxxxxxxx
[mailto:dsdp-tm-dev-bounces@xxxxxxxxxxx] On Behalf Of David
McKnight
Sent: Monday, June 05, 2006 4:16 PM
To: Target
Management developer discussions
Cc: Target Management developer
discussions; dsdp-tm-dev-bounces@xxxxxxxxxxx
Subject: RE:
[dsdp-tm-dev] RSE Extension Help
I think it depends on how you're persisting your data.
If you use RSE property sets to store data associated with a model node
(like subsystem) then the RSE persistence manager will be able to take care of
saving and loading the properties. In that case, I'd suggest making use of
properties outside of createSubSystemInternal() along these lines:
- Make your wizard page implement the
following.ISubSystemPropertiesWizardPage.
You would implement the method applyValues(ISubSystem ss) which
will get called in SubSystemConfiguration.intializeSubSystem().
- In your applyValues method use property sets
to store your data associated with your subsystem
If you do this, then the property setting will only
happen when the subsystem is created via the wizard. After that (on
restart), RSE should take care of loading those properties associated with your
subsystem.
____________________________________
David McKnight
Phone: 905-413-3902 , T/L: 969-3902
Internet:
dmcknigh@xxxxxxxxxx
Mail:
D1/619/8200/TOR
____________________________________
"Hochstein Tom-R60874"
<Tom.Hochstein@xxxxxxxxxxxxx> Sent by:
dsdp-tm-dev-bounces@xxxxxxxxxxx
05/06/2006 04:57 PM
Please respond
to Target Management developer discussions
<dsdp-tm-dev@xxxxxxxxxxx> |
|
To
| "Target Management
developer discussions" <dsdp-tm-dev@xxxxxxxxxxx>
|
cc
|
|
Subject
| RE: [dsdp-tm-dev] RSE Extension
Help |
|
Sheesh,
I guess it was hard to pin down because the problem wasn't even occurring any
more. I'm guessing now that the troubles I was having were from not
cleaning out my profile between runs.
So, I guess I still have the other question
about the createSubSystemInternal() being called from two contexts, one when the
new connection is first created and two each time thereafter that the profile is
reloaded. Does it make sense to distinguish these two cases by checking
whether or not the IHost already has my data?
Tom
From: Hochstein Tom-R60874
Sent:
Monday, June 05, 2006 3:44 PM
To: 'Target Management developer
discussions'
Subject: RE: [dsdp-tm-dev] RSE Extension Help
Windows XP, Eclipse 3.2 RC3
From: dsdp-tm-dev-bounces@xxxxxxxxxxx
[mailto:dsdp-tm-dev-bounces@xxxxxxxxxxx] On Behalf Of David
McKnight
Sent: Monday, June 05, 2006 3:12 PM
To: Target
Management developer discussions
Cc: Target Management developer
discussions; dsdp-tm-dev-bounces@xxxxxxxxxxx
Subject: RE:
[dsdp-tm-dev] RSE Extension Help
Hi Tom,
What platform are you doing this on?
Thanks,
____________________________________
David McKnight
Phone: 905-413-3902 , T/L: 969-3902
Internet:
dmcknigh@xxxxxxxxxx
Mail:
D1/619/8200/TOR
____________________________________
"Hochstein Tom-R60874"
<Tom.Hochstein@xxxxxxxxxxxxx> Sent by:
dsdp-tm-dev-bounces@xxxxxxxxxxx
05/06/2006 03:25 PM
Please respond
to Target Management developer discussions
<dsdp-tm-dev@xxxxxxxxxxx> |
|
To
| "Target Management
developer discussions" <dsdp-tm-dev@xxxxxxxxxxx>
|
cc
|
|
Subject
| RE: [dsdp-tm-dev] RSE Extension
Help |
|
Hi
Dave,
The
stacks are identical. I see now that the two createSubSystem() calls have
a root higher in the call stack than I thought; I've attached a full call
stack below. It seems that finishPressed() is getting called twice.
I'm having a hard time pinning it down further than that, but I think for
now I've got something I can run with (unless of course you just happen to know
what is going wrong :-)
Thanks for your help.
Tom
-----
Thread [main] (Suspended (breakpoint at line 325 in
SystemNewConnectionWizard))
SystemNewConnectionWizard.performFinish() line:
325
SystemWizardDialog(WizardDialog).finishPressed() line: 680
SystemWizardDialog(WizardDialog).buttonPressed(int) line: 355
Dialog$3.widgetSelected(SelectionEvent) line: 660
TypedListener.handleEvent(Event) line: 90
EventTable.sendEvent(Event)
line: 66
Button(Widget).sendEvent(Event) line: 928
Display.runDeferredEvents() line: 3348
Display.readAndDispatch() line:
2968
SystemWizardDialog(Window).runEventLoop(Shell) line: 820
SystemWizardDialog(Window).open() line: 796
SystemNewConnectionAction(SystemBaseDialogAction).run() line: 301
SystemNewConnectionAction(Action).runWithEvent(Event) line: 499
ActionContributionItem.handleWidgetSelection(Event, boolean) line: 539
ActionContributionItem.access$2(ActionContributionItem, Event, boolean)
line: 488
ActionContributionItem$6.handleEvent(Event) line: 441
EventTable.sendEvent(Event) line: 66
ToolItem(Widget).sendEvent(Event)
line: 928
Display.runDeferredEvents() line: 3348
Display.readAndDispatch() line: 2968
Workbench.runEventLoop(Window$IExceptionHandler, Display) line: 1914
Workbench.runUI() line: 1878
Workbench.createAndRunWorkbench(Display,
WorkbenchAdvisor) line: 419
PlatformUI.createAndRunWorkbench(Display,
WorkbenchAdvisor) line: 143
IDEApplication.run(Object) line: 95
PlatformActivator$1.run(Object) line: 78
EclipseAppLauncher.runApplication(Object) line: 92
EclipseAppLauncher.start(Object) line: 68
EclipseStarter.run(Object)
line: 400
EclipseStarter.run(String[], Runnable) line: 177
NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not
available [native method]
NativeMethodAccessorImpl.invoke(Object, Object[])
line: 39
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25
Method.invoke(Object, Object[]) line: 324
Main.invokeFramework(String[],
URL[]) line: 336
Main.basicRun(String[]) line: 280
Main.run(String[])
line: 977
Main.main(String[]) line: 952
From: dsdp-tm-dev-bounces@xxxxxxxxxxx
[mailto:dsdp-tm-dev-bounces@xxxxxxxxxxx] On Behalf Of David
McKnight
Sent: Monday, June 05, 2006 11:56 AM
To: Target
Management developer discussions
Cc: Target Management developer
discussions; dsdp-tm-dev-bounces@xxxxxxxxxxx
Subject: RE:
[dsdp-tm-dev] RSE Extension Help
Hi Tom,
I'm still not sure I understand this. The stack you show
here looks normal - on finish, the wizard should call createHost() and, in turn,
each subsystem configuration should have createSubSystem() called (which calls
createSubSystemInternal()). With my debugging I haven't hit a case where
createSubSystemInternal() is called twice for the same thing. Also, I
haven't seen a case where SystemNewConnectionWizard.performFinish() is called
twice. Could you show me both the stacks that lead to
SystemNewConnectionWizard.performFinish()?
____________________________________
David
McKnight
Phone: 905-413-3902 , T/L:
969-3902
Internet: dmcknigh@xxxxxxxxxx
Mail:
D1/619/8200/TOR
____________________________________
"Hochstein Tom-R60874"
<Tom.Hochstein@xxxxxxxxxxxxx> Sent by:
dsdp-tm-dev-bounces@xxxxxxxxxxx
05/06/2006 11:56 AM
Please respond
to Target Management developer discussions
<dsdp-tm-dev@xxxxxxxxxxx> |
|
To
| "Target Management
developer discussions" <dsdp-tm-dev@xxxxxxxxxxx>
|
cc
|
|
Subject
| RE: [dsdp-tm-dev] RSE Extension
Help |
|
Hi Dave,
It's not
AbstractSystemNewConnectionWizardPage.performFinish() that's the problem.
It's SystemNewConnectionWizard.performFinish() that calls
createSubSystem().
Tom
New_configuration [Eclipse Application]
org.eclipse.core.launcher.Main at localhost:4910
Thread [main]
(Suspended (breakpoint at line 138 in TapSubsystemConfiguration))
TapSubsystemConfiguration.createSubSystemInternal(IHost) line: 138
TapSubsystemConfiguration(SubSystemConfiguration).createSubSystem(IHost,
boolean, ISystemNewConnectionWizardPage[]) line: 1220
SystemRegistry.createHost(String, String, String, String, String, String,
int, ISystemNewConnectionWizardPage[]) line: 2176
SystemNewConnectionWizard.performFinish() line: 325
SystemWizardDialog(WizardDialog).finishPressed() line: 680
SystemWizardDialog(WizardDialog).buttonPressed(int) line: 355
Dialog$3.widgetSelected(SelectionEvent) line: 660
From: dsdp-tm-dev-bounces@xxxxxxxxxxx
[mailto:dsdp-tm-dev-bounces@xxxxxxxxxxx] On Behalf Of David
McKnight
Sent: Monday, June 05, 2006 10:25 AM
To: Target
Management developer discussions
Cc: Target Management developer
discussions; dsdp-tm-dev-bounces@xxxxxxxxxxx
Subject: Re:
[dsdp-tm-dev] RSE Extension Help
Hi Tom,
I tried to recreate the scenario that you have but I wasn't able
to hit that problem. Does your implementation of
AbstractSystemNewConnectionWizardPage override performFinish()? If so,
does it end up calling createSubSystem()? I think the default impl just
returns true.
____________________________________
David McKnight
Phone: 905-413-3902 , T/L: 969-3902
Internet:
dmcknigh@xxxxxxxxxx
Mail:
D1/619/8200/TOR
____________________________________
"Hochstein Tom-R60874"
<Tom.Hochstein@xxxxxxxxxxxxx> Sent by:
dsdp-tm-dev-bounces@xxxxxxxxxxx
02/06/2006 04:54 PM
Please respond
to Target Management developer discussions
<dsdp-tm-dev@xxxxxxxxxxx> |
|
To
| "Target Management
developer discussions" <dsdp-tm-dev@xxxxxxxxxxx>
|
cc
|
|
Subject
| [dsdp-tm-dev] RSE Extension
Help |
|
Hi
All,
I'm developing an RSE system type for JTAG debug
devices. For the properties of the debug device connection, I've appended
a custom wizard page which extends the RSE
AbstractSystemNewConnectionWizardPage. This wizard page is an adapter of
my SubsystemConfiguration object, which is itself an extension of the RSE
ServiceSubSystemConfiguration. When the wizard is finished, I'm trying to
add my extra properties to the IHost by overriding
ITapSubsystemConfiguration.createSubSystemInternal(IHost).
The problem is that when I click Finish, I receive
two calls to createSubSystemInternal(), one for the default wizard page and one
for my contributed page. It seems that the
SystemNewConnectionWizard.performFinish() is issued for both the main page and
for my custom page. This function calls createSubSystem(), which calls
createSubSystemInternal(), and thus the two calls.
I also noticed that createSubSystemInternal() is also
called at startup to load a persistent subsystem, which means that I need to
understand that the function will get called in two different
contexts.
For both cases I guess I could query the IHost to see
if it already contains my properties, but that smells fishy, so I wonder if this
is a problem with the RSE or with my usage.
Tom
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The information contained in
this Email has been classified:
[x] General Business Use
[ ] Freescale Internal Use Only
[ ]
Freescale Confidential
Proprietary _______________________________________________
dsdp-tm-dev mailing
list
dsdp-tm-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/dsdp-tm-dev_______________________________________________
dsdp-tm-dev
mailing
list
dsdp-tm-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/dsdp-tm-dev_______________________________________________
dsdp-tm-dev
mailing
list
dsdp-tm-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/dsdp-tm-dev_______________________________________________
dsdp-tm-dev
mailing
list
dsdp-tm-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/dsdp-tm-dev_______________________________________________
dsdp-tm-dev
mailing
list
dsdp-tm-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/dsdp-tm-dev_______________________________________________
dsdp-tm-dev
mailing
list
dsdp-tm-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/dsdp-tm-dev_______________________________________________
dsdp-tm-dev
mailing
list
dsdp-tm-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/dsdp-tm-dev_______________________________________________
dsdp-tm-dev
mailing
list
dsdp-tm-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/dsdp-tm-dev