[
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