[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| 
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
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