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