[jbosstools-issues] [JBoss JIRA] (JBIDE-26148) CommandLocationBinary: only searches once

Andre Dietisheim (JIRA) issues at jboss.org
Fri Jun 29 16:23:00 EDT 2018


     [ https://issues.jboss.org/browse/JBIDE-26148?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andre Dietisheim updated JBIDE-26148:
-------------------------------------
    Description: 
[CommandLocationBinary|https://github.com/adietish/jbosstools-openshift/blob/master/plugins/org.jboss.tools.openshift.common.core/src/org/jboss/tools/openshift/internal/common/core/util/CommandLocationBinary.java#L70] allows to lookup a command (on the $PATH, etc.). But it'll only do so once:

{code:title=CommandLocationBinary}
	public String findLocation(int timeout) {
		if (foundLoc != null || searchFailed)
			return foundLoc;

		String searched = CommandLocationLookupStrategy.get().search(this, timeout);
		if (searched == null) {
			searchFailed = true;
		}
		foundLoc = searched;
		return searched;
	}
{code}
Once the lookup failed, it'll store this in the var *searchFailed* and wont do it a 2nd time. 
What if I update my PATH while I keep Eclipse running? 
I'd think that one should be able to repeat the lookup if it fails since the user could modify it's system while he keeps Eclipse running. Afaics the current impl forces me to restart Eclipse once I changed my $PATH.

  was:
[CommandLocationBinary|https://github.com/adietish/jbosstools-openshift/blob/master/plugins/org.jboss.tools.openshift.common.core/src/org/jboss/tools/openshift/internal/common/core/util/CommandLocationBinary.java#L70] allows to lookup a command (on the $PATH, etc.). But it'll only do so once:

{code:title=CommandLocationBinary}
	public String findLocation(int timeout) {
		if (foundLoc != null || searchFailed)
			return foundLoc;

		String searched = CommandLocationLookupStrategy.get().search(this, timeout);
		if (searched == null) {
			searchFailed = true;
		}
		foundLoc = searched;
		return searched;
	}
{code}
Once the lookup failed, it'll store this in the var *searchFailed* and wont do it a 2nd time. 
What if I update my PATH while I keep Eclipse running? 



> CommandLocationBinary: only searches once
> -----------------------------------------
>
>                 Key: JBIDE-26148
>                 URL: https://issues.jboss.org/browse/JBIDE-26148
>             Project: Tools (JBoss Tools)
>          Issue Type: Bug
>          Components: openshift
>    Affects Versions: 4.6.0.AM3
>            Reporter: Andre Dietisheim
>            Assignee: Rob Stryker
>
> [CommandLocationBinary|https://github.com/adietish/jbosstools-openshift/blob/master/plugins/org.jboss.tools.openshift.common.core/src/org/jboss/tools/openshift/internal/common/core/util/CommandLocationBinary.java#L70] allows to lookup a command (on the $PATH, etc.). But it'll only do so once:
> {code:title=CommandLocationBinary}
> 	public String findLocation(int timeout) {
> 		if (foundLoc != null || searchFailed)
> 			return foundLoc;
> 		String searched = CommandLocationLookupStrategy.get().search(this, timeout);
> 		if (searched == null) {
> 			searchFailed = true;
> 		}
> 		foundLoc = searched;
> 		return searched;
> 	}
> {code}
> Once the lookup failed, it'll store this in the var *searchFailed* and wont do it a 2nd time. 
> What if I update my PATH while I keep Eclipse running? 
> I'd think that one should be able to repeat the lookup if it fails since the user could modify it's system while he keeps Eclipse running. Afaics the current impl forces me to restart Eclipse once I changed my $PATH.



--
This message was sent by Atlassian JIRA
(v7.5.0#75005)


More information about the jbosstools-issues mailing list