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