[ 
https://issues.apache.org/jira/browse/GSHELL-107?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12582588#action_12582588
 ] 

Guillaume Nodet commented on GSHELL-107:
----------------------------------------

I think the whole problems comes from the way the remote shell is created / 
initialized.
Lots of the related classes are given a pointer to an IO and / or Environment, 
which implies they have to be created on demand.  In ServiceMix, we use spring 
to wire things together at startup instead of creating these classes on demand, 
so i need to feed them with proxies that delegate to thread local storage.  The 
real problem is that proxying fields is not really possible.

It seems to comes down to the fact that the CommandExecutor does not take an IO 
as an argument, so you can not reuse it.

I think this would make the api cleaner, but it's no big deal, as I already 
have a workaround.

> Make IO an interface instead of a class
> ---------------------------------------
>
>                 Key: GSHELL-107
>                 URL: https://issues.apache.org/jira/browse/GSHELL-107
>             Project: GShell
>          Issue Type: Improvement
>      Security Level: public(Regular issues) 
>            Reporter: Guillaume Nodet
>            Assignee: Jason Dillon
>
> The fields io.in, io.out. io.err are usually accessed directly which makes 
> things uneasy to override.
> Using an interface with getters would be cleaner.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to