Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tcf-dev] org.eclipse.tm.terminal.view dependency of org.eclipse.tcf.debug.ui

> What I really need is a customized Eclipse Console that is able to emulate ANSI terminal to show process
> output in the debugger. I think I need the widget feature (o.e.tm.terminal)

Sure, that's fine. It avoids the dependency to any of the terminals views, which is a good thing.

Probably one thing to mention ... We looked at this approach as well for the "Remote Application" launch configuration type. I'm not even sure if that code isn't still around. What we've found is that the Eclipse Console implementation is preventing adding output to the terminal widget if the associated process terminated already. This is particular noticable for very short living applications, like helloWorld. We never managed to get the "Hello World" text printed to the console. Same may happen for applications that print a kind of "good bye" message right before they terminate. 

Best regards, Uwe :)



> -----Original Message-----
> From: tcf-dev-bounces@xxxxxxxxxxx [mailto:tcf-dev-bounces@xxxxxxxxxxx] On Behalf Of Eugene
> Tarassov
> Sent: Samstag, 12. Oktober 2013 17:53
> To: TCF Development
> Subject: Re: [tcf-dev] org.eclipse.tm.terminal.view dependency of org.eclipse.tcf.debug.ui
> 
> Hi Uwe,
> 
> Thanks for the info.
> 
> I think TE terminals is too heavy for what I need to achieve. What I really need is a customized Eclipse
> Console that is able to emulate ANSI terminal to show process output in the debugger. I think I need
> the widget feature (o.e.tm.terminal), but I don't really need terminal view or connectors - unless
> console customization turns out to be too difficult to do.
> 
> Thanks,
> Eugene
> 
> -----Original Message-----
> From: tcf-dev-bounces@xxxxxxxxxxx [mailto:tcf-dev-bounces@xxxxxxxxxxx] On Behalf Of Stieber, Uwe
> Sent: Friday, October 11, 2013 1:38 AM
> To: TCF Development
> Subject: Re: [tcf-dev] org.eclipse.tm.terminal.view dependency of org.eclipse.tcf.debug.ui
> 
> Hi Eugene,
> 
> > I think it is OK to use reflection for now, but what are Target Management "official"
> > recommendations for adopters of TM Terminal feature?
> 
> I think there are two valid cases to consider.
> 
> 1. Someone needs the terminal widget and connector only, to embed the widget into a custom UI.
>         - In this case refer the widget feature (o.e.tm.terminal) plus the connector(s) needed 2. Someone
> needs the terminal view and connectors
>         - In this case refer to the o.e.tcf.te.terminals.feature feature
> 
> The API to open a terminal in the new terminal view is different from the old terminal view. With the
> new API, opening a telnet connection looks like this:
> 
> IPropertiesContainer data = new PropertiesContainer();
> data.setProperty(ITerminalsConnectorConstants.PROP_CONNECTOR_TYPE_ID,
> "org.eclipse.tcf.te.ui.terminals.type.telnet");
> data.setProperty(ITerminalsConnectorConstants.PROP_IP_HOST, "192.168.200.1");
> data.setProperty(ITerminalsConnectorConstants.PROP_IP_PORT, "23");
> 
> ITerminalService svc = ServiceManager.getInstance().getService(ITerminalService.class);
> svc.openConsole(data, new Callback());
> 
> We have connector types for the Terminal connectors telnet, ssh and serial. Plus additional connector
> types not available for the old Terminal view for local terminal, process output (streams based) and
> TCF terminal. Of course some one could contribute another custom connector type via extension
> point(s).
> 
> Haven't looked in detail on what it would take to switch to the new view for TCFTerminal.java, but if
> I'm not mistaken it would be similar to this (if using the TCF terminal connector type):
> 
> IPropertiesContainer data = new PropertiesContainer();
> data.setProperty(ITerminalsConnectorConstants.PROP_CONNECTOR_TYPE_ID,
> "org.eclipse.tcf.te.ui.terminals.type.terminals");
> data.setProperty(ITerminalsConnectorConstants. PROP_STREAMS_STDIN, <tcf virtual output stream
> instance>); data.setProperty(ITerminalsConnectorConstants. PROP_STREAMS_STDOUT, <tcf virtual
> input stream instance>);
> 
> ITerminalService svc = ServiceManager.getInstance().getService(ITerminalService.class);
> svc.openConsole(data, new Callback());
> 
> On the other hand, you have written a custom TM Terminal terminal connector, and it might make
> sense to wrap this up in a custom terminals view connector type and to pass in the stream ids instead
> of the stream instances. Going with a custom terminals view connector type is propably the way to go
> as it leaves everything in your hand except that the widget is shown in the new view instead of the old
> one.
> 
> Best regards, Uwe :)
> 
> >
> > Regards,
> > Eugene
> >
> > -----Original Message-----
> > From: tcf-dev-bounces@xxxxxxxxxxx [mailto:tcf-dev-bounces@xxxxxxxxxxx]
> > On Behalf Of Oberhuber, Martin
> > Sent: Wednesday, October 09, 2013 11:39 PM
> > To: TCF Development
> > Subject: Re: [tcf-dev] org.eclipse.tm.terminal.view dependency of
> > org.eclipse.tcf.debug.ui
> >
> > Thanks Uwe for proceeding quickly and unblocking us.
> >
> > Eugene, can you consider Uwe's concerns and think about a better
> > solution for what you are trying to accomplish ?
> > If things need more discussion , is there a bugzilla item for tracking the discussion ?
> >
> > Thanks,
> > Martin
> > --
> > Martin Oberhuber, SMTS / Product Architect - Development Tools, Wind
> > River direct
> > +43.662.457915.85  fax +43.662.457915.6
> >
> >
> > -----Original Message-----
> > From: tcf-dev-bounces@xxxxxxxxxxx [mailto:tcf-dev-bounces@xxxxxxxxxxx]
> > On Behalf Of Stieber, Uwe
> > Sent: Thursday, October 10, 2013 8:29 AM
> > To: TCF Development (tcf-dev@xxxxxxxxxxx)
> > Subject: [tcf-dev] org.eclipse.tm.terminal.view dependency of
> > org.eclipse.tcf.debug.ui
> > Importance: High
> >
> > Hi Eugene,
> >
> > We found that you have added a hard dependency to
> > "org.eclipse.tm.terminal.view" from "org.eclipse.tcf.debug.ui". This
> > dependency is very problematic. First of all, the
> > "org.eclipse.tm.terminal.view" plugin should not be used any longer,
> > this one represents the old, legacy, deprecated terminal view which we
> > are not longer maintaining. The new terminal view to be used, and the only one maintained, is the
> one coming from "org.eclipse.tcf.te.ui.terminals". Second, this dependency is breaking our product
> delivery as we cannot add the "org.eclipse.tm.terminal.view"
> > plugin to our packaging. It does even break our build.
> >
> > It would be very helpful if you could consider switching to the new
> > terminal view provided by the "org.eclipse.tcf.te.ui.terminals" plugin. Besides, the new terminal view
> is supporting "TCF Terminal"
> > since a long time already. The old terminal view should not be
> > referenced in any new code, it will be removed from the terminal delivery eventuelly.
> >
> > To solve the issue, I kept the code as you have added it, but made the
> > dependency optional and used reflection to invoke
> > ITerminalView#newTerminal(ITerminalConnector). Means you should not
> > see any difference in functionality as you have added it originally and now, but the hard dependency
> is gone and our build is unblocked.
> >
> > Thanks, Best regards, Uwe :)
> >
> > _______________________________________________
> > tcf-dev mailing list
> > tcf-dev@xxxxxxxxxxx
> > https://dev.eclipse.org/mailman/listinfo/tcf-dev
> > _______________________________________________
> > tcf-dev mailing list
> > tcf-dev@xxxxxxxxxxx
> > https://dev.eclipse.org/mailman/listinfo/tcf-dev
> >
> >
> >
> > This email and any attachments are intended for the sole use of the
> > named recipient(s) and contain(s) confidential information that may be
> > proprietary, privileged or copyrighted under applicable law. If you
> > are not the intended recipient, do not read, copy, or forward this email message or any
> attachments. Delete this email message and any attachments immediately.
> >
> >
> > _______________________________________________
> > tcf-dev mailing list
> > tcf-dev@xxxxxxxxxxx
> > https://dev.eclipse.org/mailman/listinfo/tcf-dev
> _______________________________________________
> tcf-dev mailing list
> tcf-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/tcf-dev
> 
> 
> 
> This email and any attachments are intended for the sole use of the named recipient(s) and contain(s)
> confidential information that may be proprietary, privileged or copyrighted under applicable law. If
> you are not the intended recipient, do not read, copy, or forward this email message or any
> attachments. Delete this email message and any attachments immediately.
> 
> 
> _______________________________________________
> tcf-dev mailing list
> tcf-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/tcf-dev


Back to the top