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

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.




Back to the top