Author: lcorneliussen
Date: Fri Feb 11 09:40:25 2011
New Revision: 1069722

URL: http://svn.apache.org/viewvc?rev=1069722&view=rev
Log:
Improved resolving of executables on the configured paths. Now NPanday builds 
(mvn 3, bootstrap with 2.0-SNAPSHOT) without any Env.PATH settings except for 
nunit.

Modified:
    
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/PathUtil.java
    
incubator/npanday/trunk/components/dotnet-executable/src/main/java/npanday/executable/compiler/impl/BaseCompiler.java
    
incubator/npanday/trunk/components/dotnet-executable/src/main/java/npanday/executable/impl/DefaultNetExecutable.java
    
incubator/npanday/trunk/components/dotnet-executable/src/main/java/npanday/executable/impl/DefaultRepositoryNetExecutable.java
    
incubator/npanday/trunk/components/dotnet-executable/src/main/java/npanday/executable/impl/ThreadedNetExecutable.java
    
incubator/npanday/trunk/components/dotnet-vendor/src/main/java/npanday/vendor/VendorInfoRepository.java
    
incubator/npanday/trunk/components/dotnet-vendor/src/main/java/npanday/vendor/impl/SettingsRepository.java
    
incubator/npanday/trunk/components/dotnet-vendor/src/main/java/npanday/vendor/impl/VendorInfoRepositoryImpl.java
    
incubator/npanday/trunk/components/dotnet-vendor/src/main/java/npanday/vendor/impl/VendorInfoTransitionRuleFactory.java
    
incubator/npanday/trunk/components/dotnet-vendor/src/test/java/npanday/vendor/impl/VendorInfoRepositoryTestStub.java
    
incubator/npanday/trunk/dotnet/assemblies/NPanday.Utils/src/main/csharp/NPanday/Utils/GacUtility.cs

Modified: 
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/PathUtil.java
URL: 
http://svn.apache.org/viewvc/incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/PathUtil.java?rev=1069722&r1=1069721&r2=1069722&view=diff
==============================================================================
--- 
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/PathUtil.java
 (original)
+++ 
incubator/npanday/trunk/components/dotnet-core/src/main/java/npanday/PathUtil.java
 Fri Feb 11 09:40:25 2011
@@ -293,5 +293,27 @@ public final class PathUtil
         
         return dotnetFile;
     }
-    
+
+
+    public static boolean containsExecutable(String executablePath, String 
executable) {
+        File path = new File(executablePath);
+        if (!path.exists())
+            return false;
+
+        File file = new File(path, executable);
+        if (file.exists())
+            return true;
+
+        // TODO: handle linux/mac ?
+        String[] extensions = new String[] {"exe", "com", "bat", "cmd"};
+
+        for (String extension : extensions)
+        {
+            file = new File(path, executable + "." + extension);
+            if (file.exists())
+                return true;
+        }
+
+        return false;
+    }
 }

Modified: 
incubator/npanday/trunk/components/dotnet-executable/src/main/java/npanday/executable/compiler/impl/BaseCompiler.java
URL: 
http://svn.apache.org/viewvc/incubator/npanday/trunk/components/dotnet-executable/src/main/java/npanday/executable/compiler/impl/BaseCompiler.java?rev=1069722&r1=1069721&r2=1069722&view=diff
==============================================================================
--- 
incubator/npanday/trunk/components/dotnet-executable/src/main/java/npanday/executable/compiler/impl/BaseCompiler.java
 (original)
+++ 
incubator/npanday/trunk/components/dotnet-executable/src/main/java/npanday/executable/compiler/impl/BaseCompiler.java
 Fri Feb 11 09:40:25 2011
@@ -18,6 +18,7 @@
  */
 package npanday.executable.compiler.impl;
 
+import npanday.PathUtil;
 import npanday.executable.compiler.CompilerContext;
 import npanday.executable.compiler.InvalidArtifactException;
 import npanday.executable.compiler.CompilerExecutable;
@@ -98,15 +99,14 @@ abstract class BaseCompiler implements C
         {
             for ( String executablePath : executablePaths )
             {
-                               File exe = new File( executablePath + 
File.separator +  executable + ".exe");
-                if ( exe.exists() )
+                               if ( 
PathUtil.containsExecutable(executablePath, executable) )
                 {
-                    logger.info("NPANDAY-068-005: Choose executable path for " 
+ executable + ".exe: " + executablePath);
+                    logger.info("NPANDAY-068-005: Found executable path for " 
+ executable + ": " + executablePath);
                     return new File(executablePath);
                 }
             }
         }
-        logger.warn("NPANDAY-068-006: Did not find path for " + executable + 
".exe in " + executablePaths);
+        logger.warn("NPANDAY-068-006: Did not find path for " + executable + " 
in " + executablePaths);
         return null;
     }
 

Modified: 
incubator/npanday/trunk/components/dotnet-executable/src/main/java/npanday/executable/impl/DefaultNetExecutable.java
URL: 
http://svn.apache.org/viewvc/incubator/npanday/trunk/components/dotnet-executable/src/main/java/npanday/executable/impl/DefaultNetExecutable.java?rev=1069722&r1=1069721&r2=1069722&view=diff
==============================================================================
--- 
incubator/npanday/trunk/components/dotnet-executable/src/main/java/npanday/executable/impl/DefaultNetExecutable.java
 (original)
+++ 
incubator/npanday/trunk/components/dotnet-executable/src/main/java/npanday/executable/impl/DefaultNetExecutable.java
 Fri Feb 11 09:40:25 2011
@@ -18,6 +18,7 @@
  */
 package npanday.executable.impl;
 
+import npanday.PathUtil;
 import npanday.executable.ExecutionException;
 import npanday.executable.*;
 import npanday.NPandayContext;
@@ -76,10 +77,9 @@ public class DefaultNetExecutable
         {
             for ( String executablePath : executablePaths )
             {
-                File exe = new File( executablePath + File.separator + 
executable );
-                if ( exe.exists() )
+                if ( PathUtil.containsExecutable(executablePath, executable) )
                 {
-                    logger.info("NPANDAY-070-003: Choose executable path for " 
+ executable + ": " + executablePath);
+                    logger.info("NPANDAY-070-003: Found executable path for " 
+ executable + ": " + executablePath);
                     return new File( executablePath );
                 }
             }

Modified: 
incubator/npanday/trunk/components/dotnet-executable/src/main/java/npanday/executable/impl/DefaultRepositoryNetExecutable.java
URL: 
http://svn.apache.org/viewvc/incubator/npanday/trunk/components/dotnet-executable/src/main/java/npanday/executable/impl/DefaultRepositoryNetExecutable.java?rev=1069722&r1=1069721&r2=1069722&view=diff
==============================================================================
--- 
incubator/npanday/trunk/components/dotnet-executable/src/main/java/npanday/executable/impl/DefaultRepositoryNetExecutable.java
 (original)
+++ 
incubator/npanday/trunk/components/dotnet-executable/src/main/java/npanday/executable/impl/DefaultRepositoryNetExecutable.java
 Fri Feb 11 09:40:25 2011
@@ -66,21 +66,21 @@ public class DefaultRepositoryNetExecuta
             logger.info( "NPANDAY-063-002: Executable has not been initialized 
with a context" );
             return null;
         }
-        List<String> executablePaths = 
executableContext.getExecutableConfig().getExecutionPaths();
-        if ( executablePaths != null )
+        List<String> executables = 
executableContext.getExecutableConfig().getExecutionPaths();
+        if ( executables != null )
         {
-            for ( String executablePath : executablePaths )
+            for ( String executable : executables )
             {
-                File exe = new File( executablePath );
+                File exe = new File( executable );
                 if ( exe.exists() )
                 {
                     logger.info("NPANDAY-068-005: Choose executable path's 
parent as execution path: "
-                            + new File( executablePath 
).getParentFile().getAbsolutePath());
-                    return new File( executablePath ).getParentFile();
+                            + new File( executable 
).getParentFile().getAbsolutePath());
+                    return new File( executable ).getParentFile();
                 }
             }
         }
-        logger.warn("NPANDAY-068-006: Did not find any of " + executablePaths);
+        logger.warn("NPANDAY-068-006: Did not find any of " + executables);
         return null;
     }
 

Modified: 
incubator/npanday/trunk/components/dotnet-executable/src/main/java/npanday/executable/impl/ThreadedNetExecutable.java
URL: 
http://svn.apache.org/viewvc/incubator/npanday/trunk/components/dotnet-executable/src/main/java/npanday/executable/impl/ThreadedNetExecutable.java?rev=1069722&r1=1069721&r2=1069722&view=diff
==============================================================================
--- 
incubator/npanday/trunk/components/dotnet-executable/src/main/java/npanday/executable/impl/ThreadedNetExecutable.java
 (original)
+++ 
incubator/npanday/trunk/components/dotnet-executable/src/main/java/npanday/executable/impl/ThreadedNetExecutable.java
 Fri Feb 11 09:40:25 2011
@@ -18,6 +18,7 @@
  */
 package npanday.executable.impl;
 
+import npanday.PathUtil;
 import npanday.executable.NetExecutable;
 import npanday.executable.ExecutableContext;
 import npanday.executable.ExecutionException;
@@ -93,10 +94,9 @@ public class ThreadedNetExecutable
         {
             for ( String executablePath : executablePaths )
             {
-                File exe = new File( executablePath + File.separator + 
executable );
-                if ( exe.exists() )
+                if ( PathUtil.containsExecutable(executablePath, executable) )
                 {
-                    logger.info("NPANDAY-063-005: Choose executable path for " 
+ executable + ": " + executablePath);
+                    logger.info("NPANDAY-063-005: Found executable path for " 
+ executable + ": " + executablePath);
                     return new File( executablePath );
                 }
             }

Modified: 
incubator/npanday/trunk/components/dotnet-vendor/src/main/java/npanday/vendor/VendorInfoRepository.java
URL: 
http://svn.apache.org/viewvc/incubator/npanday/trunk/components/dotnet-vendor/src/main/java/npanday/vendor/VendorInfoRepository.java?rev=1069722&r1=1069721&r2=1069722&view=diff
==============================================================================
--- 
incubator/npanday/trunk/components/dotnet-vendor/src/main/java/npanday/vendor/VendorInfoRepository.java
 (original)
+++ 
incubator/npanday/trunk/components/dotnet-vendor/src/main/java/npanday/vendor/VendorInfoRepository.java
 Fri Feb 11 09:40:25 2011
@@ -18,7 +18,6 @@
  */
 package npanday.vendor;
 
-import npanday.vendor.VendorInfo;
 import npanday.PlatformUnsupportedException;
 
 import java.util.List;
@@ -39,13 +38,6 @@ public interface VendorInfoRepository
     String ROLE = VendorInfoRepository.class.getName();
 
     /**
-     * Returns a list of all vendor infos in the repository.
-     *
-     * @return a list of all vendor infos in the repository
-     */
-    List<VendorInfo> getVendorInfos();
-
-    /**
      * Returns a list of vendor infos for the specified vendor name, vendor 
version and framework version.
      *
      * @param vendorName       the vendor name (Microsoft, Mono, DotGNU) to 
match. If this value is null,
@@ -83,36 +75,14 @@ public interface VendorInfoRepository
         throws InvalidVersionFormatException;
 
     /**
-     * Returns file pointing to the .NET framework installation root used for 
compiling artifacts.
-     *
-     * @param vendorInfo the vendor info
-     * @return file pointing to the .NET framework installation root used for 
compiling artifacts
-     * @throws npanday.PlatformUnsupportedException
-     *
-     * @deprecated getExecutablePathsFor should do the job
-     */
-    @Deprecated
-    File getInstallRootFor( VendorInfo vendorInfo )
-        throws PlatformUnsupportedException;
-
-    /**
-     * Returns file pointing to the .NET SDK installation root used for 
compiling artifacts.
-     *
-     * @param vendorInfo the vendor info
-     * @return file pointing to the .NET SDK installation root used for 
compiling artifacts
-     * @throws PlatformUnsupportedException
-     */
-    File getSdkInstallRootFor( VendorInfo vendorInfo )
-        throws PlatformUnsupportedException;
-
-    /**
-     * Returns a list of configured paths where executables for compiling, eg. 
are found.
+     * Finds a configured matching vendor info. This will then include details 
about
+     * if it is the default, and on which paths executables are found.
      *
-     * @param vendorInfo the vendor info
-     * @return file pointing to the .NET SDK installation root used for 
compiling artifacts
+     * @param vendorInfoExample Source for the search criteria.
+     * @return VendorInfo as it is configured.
      * @throws PlatformUnsupportedException
      */
-    List<File> getExecutablePathsFor( VendorInfo vendorInfo )
+    VendorInfo getConfiguredVendorInfoByExample(VendorInfo vendorInfoExample)
         throws PlatformUnsupportedException;
 
     /**

Modified: 
incubator/npanday/trunk/components/dotnet-vendor/src/main/java/npanday/vendor/impl/SettingsRepository.java
URL: 
http://svn.apache.org/viewvc/incubator/npanday/trunk/components/dotnet-vendor/src/main/java/npanday/vendor/impl/SettingsRepository.java?rev=1069722&r1=1069721&r2=1069722&view=diff
==============================================================================
--- 
incubator/npanday/trunk/components/dotnet-vendor/src/main/java/npanday/vendor/impl/SettingsRepository.java
 (original)
+++ 
incubator/npanday/trunk/components/dotnet-vendor/src/main/java/npanday/vendor/impl/SettingsRepository.java
 Fri Feb 11 09:40:25 2011
@@ -23,6 +23,7 @@ import npanday.registry.RepositoryRegist
 import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
 
 import java.io.*;
+import java.util.Collections;
 import java.util.Hashtable;
 import java.util.List;
 import java.util.ArrayList;
@@ -58,11 +59,6 @@ public final class SettingsRepository
     private DefaultSetup defaultSetup;
 
     /**
-     * List of all vendors from the npanday-settings file.
-     */
-    private List<VendorInfo> vendorInfos;
-
-    /**
      * Constructor. This method is intended to be invoked by the 
<code>RepositoryRegistry<code>, not by the
      * application developer.
      */
@@ -90,53 +86,22 @@ public final class SettingsRepository
         }
         vendors = settings.getVendors();
         defaultSetup = settings.getDefaultSetup();
-        vendorInfos = new ArrayList<VendorInfo>();
-
-        for ( Vendor v : vendors )
-        {
-            List<Framework> frameworks = v.getFrameworks();
-            for ( Framework framework : frameworks )
-            {
-                VendorInfo vendorInfo = 
VendorInfo.Factory.createDefaultVendorInfo();
-                vendorInfo.setVendorVersion( v.getVendorVersion() );
-                List<File> executablePaths = new ArrayList<File>();
-                executablePaths.add(new File( framework.getInstallRoot() ));
-                if(framework.getSdkInstallRoot() != null)
-                {
-                    executablePaths.add( new 
File(framework.getSdkInstallRoot()));
-                }
-                vendorInfo.setExecutablePaths( executablePaths );
-                vendorInfo.setFrameworkVersion( 
framework.getFrameworkVersion() );
-                try
-                {
-                    vendorInfo.setVendor( VendorFactory.createVendorFromName( 
v.getVendorName() ) );
-                }
-                catch ( VendorUnsupportedException e )
-                {
-                    continue;
-                }
-                vendorInfo.setDefault(
-                    v.getIsDefault() != null && 
v.getIsDefault().toLowerCase().trim().equals( "true" ) );
-                vendorInfos.add( vendorInfo );
-            }
-        }
     }
 
     /**
-     * @see 
Repository#setRepositoryRegistry(npanday.registry.RepositoryRegistry)
+     * Gets the raw configured model.
+     *
+     * @return Unmodifiable list.
      */
-    public void setRepositoryRegistry( RepositoryRegistry repositoryRegistry )
-    {
+    public List<Vendor> getVendors() {
+        return Collections.unmodifiableList(vendors);
     }
 
     /**
-     * Returns all vendor infos from the npanday-settings file.
-     *
-     * @return all vendor infos from the npanday-settings file
+     * @see 
Repository#setRepositoryRegistry(npanday.registry.RepositoryRegistry)
      */
-    List<VendorInfo> getVendorInfos()
+    public void setRepositoryRegistry( RepositoryRegistry repositoryRegistry )
     {
-        return vendorInfos;
     }
 
     File getSdkInstallRootFor( String vendor, String vendorVersion, String 
frameworkVersion )

Modified: 
incubator/npanday/trunk/components/dotnet-vendor/src/main/java/npanday/vendor/impl/VendorInfoRepositoryImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/npanday/trunk/components/dotnet-vendor/src/main/java/npanday/vendor/impl/VendorInfoRepositoryImpl.java?rev=1069722&r1=1069721&r2=1069722&view=diff
==============================================================================
--- 
incubator/npanday/trunk/components/dotnet-vendor/src/main/java/npanday/vendor/impl/VendorInfoRepositoryImpl.java
 (original)
+++ 
incubator/npanday/trunk/components/dotnet-vendor/src/main/java/npanday/vendor/impl/VendorInfoRepositoryImpl.java
 Fri Feb 11 09:40:25 2011
@@ -20,11 +20,8 @@ package npanday.vendor.impl;
 
 import npanday.ArtifactType;
 import npanday.ArtifactTypeHelper;
-import npanday.vendor.VendorInfoRepository;
-import npanday.vendor.VendorInfo;
-import npanday.vendor.VendorInfoMatchPolicy;
-import npanday.vendor.InvalidVersionFormatException;
-import npanday.vendor.Vendor;
+import npanday.model.settings.Framework;
+import npanday.vendor.*;
 import npanday.registry.RepositoryRegistry;
 import npanday.PlatformUnsupportedException;
 
@@ -58,6 +55,11 @@ public class VendorInfoRepositoryImpl
     private Logger logger;
 
     /**
+     * Cache
+     */
+    private List<VendorInfo> cachedVendorInfos;
+
+    /**
      * Constructor. This method is intended to be invoked by the 
plexus-container, not by the application developer.
      */
     public VendorInfoRepositoryImpl()
@@ -80,11 +82,7 @@ public class VendorInfoRepositoryImpl
         return ( repositoryRegistry.find( "npanday-settings" ) != null );
     }
 
-    /**
-     * @deprecated getExecutablePathsFor should do the job
-     */
-    @Deprecated
-    public File getInstallRootFor( VendorInfo vendorInfo )
+    private File getInstallRootFor( VendorInfo vendorInfo )
         throws PlatformUnsupportedException
     {
         SettingsRepository settingsRepository = (SettingsRepository) 
repositoryRegistry.find( "npanday-settings" );
@@ -92,7 +90,7 @@ public class VendorInfoRepositoryImpl
                                                      
vendorInfo.getVendorVersion(), vendorInfo.getFrameworkVersion() );
     }
 
-    public File getSdkInstallRootFor( VendorInfo vendorInfo )
+    private File getSdkInstallRootFor( VendorInfo vendorInfo )
         throws PlatformUnsupportedException
     {
         SettingsRepository settingsRepository = (SettingsRepository) 
repositoryRegistry.find( "npanday-settings" );
@@ -101,22 +99,62 @@ public class VendorInfoRepositoryImpl
                                                         
vendorInfo.getFrameworkVersion() );
     }
 
-    public List<File> getExecutablePathsFor( VendorInfo vendorInfo )
+    public VendorInfo getConfiguredVendorInfoByExample(VendorInfo 
vendorInfoExample)
         throws PlatformUnsupportedException
     {
-        SettingsRepository settingsRepository = (SettingsRepository) 
repositoryRegistry.find( "npanday-settings" );
-        return settingsRepository.getExecutablePathsFor( 
vendorInfo.getVendor().getVendorName(),
-                                                        
vendorInfo.getVendorVersion(),
-                                                        
vendorInfo.getFrameworkVersion() );
+        List<VendorInfo> infos = getVendorInfosFor(vendorInfoExample, false);
+        if (infos.size() == 0) {
+           throw new PlatformUnsupportedException( "NPANDAY-200-001: Could not 
find configuration for " + vendorInfoExample );
+        }
+
+        if (infos.size() > 2) {
+            // reload default
+            infos = getVendorInfosFor(vendorInfoExample, true);
+        }
+
+        assert infos.size() == 1;
+
+        return infos.get(0);
     }
 
-    /**
-     * @see npanday.vendor.VendorInfoRepository#getVendorInfos()
-     */
-    public List<VendorInfo> getVendorInfos()
+    private List<VendorInfo> getVendorInfos()
     {
         SettingsRepository settingsRepository = (SettingsRepository) 
repositoryRegistry.find( "npanday-settings" );
-        return Collections.unmodifiableList( 
settingsRepository.getVendorInfos() );
+
+        if (cachedVendorInfos != null)
+            return Collections.unmodifiableList( cachedVendorInfos );;
+
+        cachedVendorInfos = new ArrayList<VendorInfo>();
+
+        for ( npanday.model.settings.Vendor v : 
settingsRepository.getVendors() )
+        {
+            List<Framework> frameworks = v.getFrameworks();
+            for ( Framework framework : frameworks )
+            {
+                VendorInfo vendorInfo = 
VendorInfo.Factory.createDefaultVendorInfo();
+                vendorInfo.setVendorVersion( v.getVendorVersion() );
+                List<File> executablePaths = new ArrayList<File>();
+                executablePaths.add(new File( framework.getInstallRoot() ));
+                if(framework.getSdkInstallRoot() != null)
+                {
+                    executablePaths.add( new 
File(framework.getSdkInstallRoot()));
+                }
+                vendorInfo.setExecutablePaths( executablePaths );
+                vendorInfo.setFrameworkVersion( 
framework.getFrameworkVersion() );
+                try
+                {
+                    vendorInfo.setVendor( 
VendorFactory.createVendorFromName(v.getVendorName()) );
+                }
+                catch ( VendorUnsupportedException e )
+                {
+                    continue;
+                }
+                vendorInfo.setDefault(
+                    v.getIsDefault() != null && 
v.getIsDefault().toLowerCase().trim().equals( "true" ) );
+                cachedVendorInfos.add( vendorInfo );
+            }
+        }
+        return Collections.unmodifiableList( cachedVendorInfos );
     }
 
     /**
@@ -132,7 +170,7 @@ public class VendorInfoRepositoryImpl
      * @see VendorInfoRepository#getVendorInfosFor(String, String, String, 
boolean)
      */
     public List<VendorInfo> getVendorInfosFor( String vendorName, String 
vendorVersion, String frameworkVersion,
-                                               boolean isDefault )
+                                               boolean defaultOnly )
     {
         List<VendorInfo> vendorInfos = new ArrayList<VendorInfo>();
         MatchPolicyFactory matchPolicyFactory = new MatchPolicyFactory();
@@ -151,7 +189,7 @@ public class VendorInfoRepositoryImpl
         {
             matchPolicies.add( 
matchPolicyFactory.createFrameworkVersionPolicy( frameworkVersion ) );
         }
-        if ( isDefault )
+        if ( defaultOnly )
         {
             matchPolicies.add( 
matchPolicyFactory.createVendorIsDefaultPolicy() );
         }
@@ -168,14 +206,14 @@ public class VendorInfoRepositoryImpl
     /**
      * @see VendorInfoRepository#getVendorInfosFor(npanday.vendor.VendorInfo, 
boolean)
      */
-    public List<VendorInfo> getVendorInfosFor( VendorInfo vendorInfo, boolean 
isDefault )
+    public List<VendorInfo> getVendorInfosFor( VendorInfo vendorInfo, boolean 
defaultOnly )
     {
         if ( vendorInfo == null )
         {
             return getVendorInfos();
         }
         return getVendorInfosFor( ( vendorInfo.getVendor() != null ? 
vendorInfo.getVendor().getVendorName() : null ),
-                                  vendorInfo.getVendorVersion(), 
vendorInfo.getFrameworkVersion(), isDefault );
+                                  vendorInfo.getVendorVersion(), 
vendorInfo.getFrameworkVersion(), defaultOnly );
     }
 
     /**

Modified: 
incubator/npanday/trunk/components/dotnet-vendor/src/main/java/npanday/vendor/impl/VendorInfoTransitionRuleFactory.java
URL: 
http://svn.apache.org/viewvc/incubator/npanday/trunk/components/dotnet-vendor/src/main/java/npanday/vendor/impl/VendorInfoTransitionRuleFactory.java?rev=1069722&r1=1069721&r2=1069722&view=diff
==============================================================================
--- 
incubator/npanday/trunk/components/dotnet-vendor/src/main/java/npanday/vendor/impl/VendorInfoTransitionRuleFactory.java
 (original)
+++ 
incubator/npanday/trunk/components/dotnet-vendor/src/main/java/npanday/vendor/impl/VendorInfoTransitionRuleFactory.java
 Fri Feb 11 09:40:25 2011
@@ -128,7 +128,8 @@ final class VendorInfoTransitionRuleFact
                     try
                     {
                         List<File> existingPaths = new ArrayList<File>();
-                        for(File path : 
vendorInfoRepository.getExecutablePathsFor(vendorInfo)){
+                        List<File> configuredExecutablePaths = 
vendorInfoRepository.getConfiguredVendorInfoByExample(vendorInfo).getExecutablePaths();
+                        for(File path : configuredExecutablePaths){
                             if (!path.exists()) {
                                 logger.debug( "NPANDAY-103-61: Configured path 
does not exist and is therefore omitted: " + path );
                             }

Modified: 
incubator/npanday/trunk/components/dotnet-vendor/src/test/java/npanday/vendor/impl/VendorInfoRepositoryTestStub.java
URL: 
http://svn.apache.org/viewvc/incubator/npanday/trunk/components/dotnet-vendor/src/test/java/npanday/vendor/impl/VendorInfoRepositoryTestStub.java?rev=1069722&r1=1069721&r2=1069722&view=diff
==============================================================================
--- 
incubator/npanday/trunk/components/dotnet-vendor/src/test/java/npanday/vendor/impl/VendorInfoRepositoryTestStub.java
 (original)
+++ 
incubator/npanday/trunk/components/dotnet-vendor/src/test/java/npanday/vendor/impl/VendorInfoRepositoryTestStub.java
 Fri Feb 11 09:40:25 2011
@@ -59,15 +59,10 @@ public class VendorInfoRepositoryTestStu
         return null;
     }
 
-    public List<File> getExecutablePathsFor(VendorInfo vendorInfo) throws 
PlatformUnsupportedException {
+    public VendorInfo getConfiguredVendorInfoByExample(VendorInfo 
vendorInfoExample) throws PlatformUnsupportedException {
         return null;
     }
 
-    public List<VendorInfo> getVendorInfos()
-    {
-        return new ArrayList<VendorInfo>();
-    }
-
     public String getMaxVersion( Set<String> versions )
         throws InvalidVersionFormatException
     {

Modified: 
incubator/npanday/trunk/dotnet/assemblies/NPanday.Utils/src/main/csharp/NPanday/Utils/GacUtility.cs
URL: 
http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.Utils/src/main/csharp/NPanday/Utils/GacUtility.cs?rev=1069722&r1=1069721&r2=1069722&view=diff
==============================================================================
--- 
incubator/npanday/trunk/dotnet/assemblies/NPanday.Utils/src/main/csharp/NPanday/Utils/GacUtility.cs
 (original)
+++ 
incubator/npanday/trunk/dotnet/assemblies/NPanday.Utils/src/main/csharp/NPanday/Utils/GacUtility.cs
 Fri Feb 11 09:40:25 2011
@@ -39,6 +39,9 @@ namespace NPanday.Utils
 
         public GacUtility()
         {
+            /*
+            TODO: Why is this done?
+
             Process p = new Process();
 
             try
@@ -63,6 +66,7 @@ namespace NPanday.Utils
             {
                 throw new Exception( "Unable to execute gacutil - check that 
your PATH has been set correctly (Message: " + exception.Message + ")" );
             }
+            */
 
 
             string msBuildPath = 
Path.GetDirectoryName(System.Reflection.Assembly.GetAssembly(typeof(string)).Location);


Reply via email to