Update the conditioned variables - we need to resolve the conditions when additional BLD200409091800
authormentlicher@netbeans.org
Thu, 09 Sep 2004 16:43:50 +0000
changeset 5176432a5addb2ab
parent 5175 8b01db3cc46e
child 5177 dcbdd290ef50
Update the conditioned variables - we need to resolve the conditions when additional
variables are set.
This is a fix of issue #48667.
vcs.advanced/src/org/netbeans/modules/vcs/advanced/recognizer/CommandLineVcsFileSystemInfo.java
     1.1 --- a/vcs.advanced/src/org/netbeans/modules/vcs/advanced/recognizer/CommandLineVcsFileSystemInfo.java	Thu Sep 09 16:41:37 2004 +0000
     1.2 +++ b/vcs.advanced/src/org/netbeans/modules/vcs/advanced/recognizer/CommandLineVcsFileSystemInfo.java	Thu Sep 09 16:43:50 2004 +0000
     1.3 @@ -40,6 +40,8 @@
     1.4  import org.netbeans.modules.vcs.advanced.CommandLineVcsFileSystem;
     1.5  import org.netbeans.modules.vcs.advanced.Profile;
     1.6  import org.netbeans.modules.vcs.advanced.ProfilesFactory;
     1.7 +import org.netbeans.modules.vcs.advanced.variables.ConditionedVariables;
     1.8 +import org.netbeans.modules.vcs.advanced.variables.ConditionedVariablesUpdater;
     1.9  import org.netbeans.modules.vcscore.VcsFileSystem;
    1.10  import org.netbeans.modules.vcscore.registry.FSRegistry;
    1.11  import org.openide.cookies.InstanceCookie;
    1.12 @@ -205,11 +207,15 @@
    1.13                  ErrorManager.getDefault().notify(ioExc);
    1.14              }
    1.15              if (additionalVars != null) {
    1.16 +                ConditionedVariables cVars = profile.getVariables();
    1.17 +                ConditionedVariablesUpdater cVarsUpdater = new ConditionedVariablesUpdater(cVars, fs.getVariablesAsHashtable());
    1.18                  Vector vars = fs.getVariables();
    1.19                  HashMap varsByName = new HashMap();
    1.20 +                HashMap varValues = new HashMap();
    1.21                  for (int i = 0, n = vars.size (); i < n; i++) {
    1.22                      VcsConfigVariable var = (VcsConfigVariable) vars.get (i);
    1.23                      varsByName.put (var.getName (), var);
    1.24 +                    varValues.put (var.getName (), var.getValue());
    1.25                  }
    1.26                  for (Iterator addVarIt = additionalVars.keySet().iterator(); addVarIt.hasNext(); ) {
    1.27                      String name = (String) addVarIt.next();
    1.28 @@ -222,8 +228,11 @@
    1.29                      } else {
    1.30                          var.setValue(value);
    1.31                      }
    1.32 +                    varValues.put (var.getName (), value);
    1.33                  }
    1.34 -                fs.setVariables(vars);
    1.35 +                Vector variables = cVarsUpdater.updateConditionalValues(cVars, varValues,
    1.36 +                                                                        varsByName, vars);
    1.37 +                fs.setVariables(variables);
    1.38              }
    1.39          }
    1.40          return fs;