You are viewing a plain text version of this content. The canonical link for it is here.
Posted to npanday-commits@incubator.apache.org by lc...@apache.org on 2011/12/15 17:07:13 UTC
svn commit: r1214869 [7/11] - in /incubator/npanday/trunk: ./
archetypes/maven-archetype-netexecutable/src/main/resources/archetype-resources/src/main/java/
components/ components/dotnet-artifact/
components/dotnet-artifact/src/main/java/npanday/artifa...
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=1214869&r1=1214868&r2=1214869&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 Thu Dec 15 17:07:06 2011
@@ -18,22 +18,24 @@
*/
package npanday.vendor.impl;
-import npanday.ArtifactType;
-import npanday.ArtifactTypeHelper;
+import npanday.PlatformUnsupportedException;
import npanday.model.settings.Framework;
-import npanday.vendor.*;
import npanday.registry.RepositoryRegistry;
-import npanday.PlatformUnsupportedException;
+import npanday.vendor.InvalidVersionFormatException;
+import npanday.vendor.SettingsRepository;
+import npanday.vendor.Vendor;
+import npanday.vendor.VendorInfo;
+import npanday.vendor.VendorInfoMatchPolicy;
+import npanday.vendor.VendorInfoRepository;
+import npanday.vendor.VendorRequirement;
+import org.codehaus.plexus.logging.LogEnabled;
+import org.codehaus.plexus.logging.Logger;
-import java.util.List;
-import java.util.Collections;
+import java.io.File;
import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
import java.util.Set;
-import java.util.HashSet;
-import java.io.File;
-
-import org.codehaus.plexus.logging.LogEnabled;
-import org.codehaus.plexus.logging.Logger;
/**
* Provides an implementation of <code>VendorInfoRepository</code>.
@@ -61,6 +63,11 @@ public class VendorInfoRepositoryImpl
private List<VendorInfo> cachedVendorInfos;
/**
+ * The version the repository was at, when the cache was built up.
+ */
+ private int cachedVendorInfosContentVersion;
+
+ /**
* Constructor. This method is intended to be invoked by the plexus-container, not by the application developer.
*/
public VendorInfoRepositoryImpl()
@@ -75,14 +82,6 @@ public class VendorInfoRepositoryImpl
this.logger = logger;
}
- /**
- * @see npanday.vendor.VendorInfoRepository#exists()
- */
- public boolean exists()
- {
- return ( repositoryRegistry.find( "npanday-settings" ) != null );
- }
-
public void clearCache()
{
if ( cachedVendorInfos != null )
@@ -92,34 +91,17 @@ public class VendorInfoRepositoryImpl
}
}
- private File getInstallRootFor( VendorInfo vendorInfo )
- throws PlatformUnsupportedException
- {
- SettingsRepository settingsRepository = (SettingsRepository) repositoryRegistry.find( "npanday-settings" );
- return settingsRepository.getInstallRootFor( vendorInfo.getVendor().getVendorName(),
- vendorInfo.getVendorVersion(), vendorInfo.getFrameworkVersion() );
- }
-
- private File getSdkInstallRootFor( VendorInfo vendorInfo )
- throws PlatformUnsupportedException
- {
- SettingsRepository settingsRepository = (SettingsRepository) repositoryRegistry.find( "npanday-settings" );
- return settingsRepository.getSdkInstallRootFor( vendorInfo.getVendor().getVendorName(),
- vendorInfo.getVendorVersion(),
- vendorInfo.getFrameworkVersion() );
- }
-
- public VendorInfo getConfiguredVendorInfoByExample(VendorInfo vendorInfoExample)
+ public VendorInfo getSingleVendorInfoByRequirement( VendorRequirement vendorRequirement )
throws PlatformUnsupportedException
{
- List<VendorInfo> infos = getVendorInfosFor(vendorInfoExample, false);
+ List<VendorInfo> infos = getVendorInfosFor( vendorRequirement, false);
if (infos.size() == 0) {
- throw new PlatformUnsupportedException( "NPANDAY-200-001: Could not find configuration for " + vendorInfoExample );
+ throw new PlatformUnsupportedException( "NPANDAY-113-001: Could not find configuration for " + vendorRequirement );
}
if (infos.size() > 2) {
- // reload default
- infos = getVendorInfosFor(vendorInfoExample, true);
+ // reloadAll default
+ infos = getVendorInfosFor( vendorRequirement, true);
}
assert infos.size() == 1;
@@ -129,28 +111,30 @@ public class VendorInfoRepositoryImpl
private List<VendorInfo> getVendorInfos()
{
+ ensureCache();
+
+ return Collections.unmodifiableList( cachedVendorInfos );
+ }
+
+ private void ensureCache()
+ {
SettingsRepository settingsRepository = (SettingsRepository) repositoryRegistry.find( "npanday-settings" );
- if ( settingsRepository.isReloaded() )
- {
- clearCache();
- settingsRepository.setReloaded(false);
+ if (settingsRepository.isEmpty()) {
+ logger.warn( "NPANDAY-113-000: The settings repository does not contain any vendor information" );
}
- try
+ if ( settingsRepository.getContentVersion() > cachedVendorInfosContentVersion )
{
- settingsRepository.reload();
- }
- catch(Exception e)
- {
- //e.printStackTrace();
+ clearCache();
}
-
- if ( cachedVendorInfos != null && cachedVendorInfos.size() > 0 && !settingsRepository.isReloaded() )
+
+ if ( cachedVendorInfos != null && cachedVendorInfos.size() > 0 )
{
- return Collections.unmodifiableList( cachedVendorInfos );
+ return;
}
+ cachedVendorInfosContentVersion = settingsRepository.getContentVersion();
cachedVendorInfos = new ArrayList<VendorInfo>();
for ( npanday.model.settings.Vendor v : settingsRepository.getVendors() )
@@ -158,42 +142,9 @@ public class VendorInfoRepositoryImpl
List<Framework> frameworks = v.getFrameworks();
for ( Framework framework : frameworks )
{
- VendorInfo vendorInfo = VendorInfo.Factory.createDefaultVendorInfo();
- vendorInfo.setVendorVersion( v.getVendorVersion() );
- List<File> executablePaths = new ArrayList<File>();
-
- // add .NET install root as path
- executablePaths.add(new File( framework.getInstallRoot() ));
-
- // add .NET-SDK install root as path
- if(framework.getSdkInstallRoot() != null)
- {
- executablePaths.add( new File(framework.getSdkInstallRoot()));
- }
-
- // copy configured additional execution paths
- if (framework.getExecutablePaths() != null) {
- for(Object path: framework.getExecutablePaths()) {
- executablePaths.add( new File((String)path) );
- }
- }
- 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 );
+ cachedVendorInfos.add( new SettingsBasedVendorInfo( v, framework ) );
}
}
- settingsRepository.setReloaded( false );
- return Collections.unmodifiableList( cachedVendorInfos );
}
/**
@@ -243,16 +194,16 @@ public class VendorInfoRepositoryImpl
}
/**
- * @see VendorInfoRepository#getVendorInfosFor(npanday.vendor.VendorInfo, boolean)
+ * @see VendorInfoRepository#getVendorInfosFor(npanday.vendor.VendorRequirement, boolean)
*/
- public List<VendorInfo> getVendorInfosFor( VendorInfo vendorInfo, boolean defaultOnly )
+ public List<VendorInfo> getVendorInfosFor( VendorRequirement vendorRequirement, boolean defaultOnly )
{
- if ( vendorInfo == null )
+ if ( vendorRequirement == null )
{
return getVendorInfos();
}
- return getVendorInfosFor( ( vendorInfo.getVendor() != null ? vendorInfo.getVendor().getVendorName() : null ),
- vendorInfo.getVendorVersion(), vendorInfo.getFrameworkVersion(), defaultOnly );
+ return getVendorInfosFor( ( vendorRequirement.getVendor() != null ? vendorRequirement.getVendor().getVendorName() : null ),
+ vendorRequirement.getVendorVersion(), vendorRequirement.getFrameworkVersion(), defaultOnly );
}
/**
@@ -279,86 +230,18 @@ public class VendorInfoRepositoryImpl
public File getGlobalAssemblyCacheDirectoryFor( Vendor vendor, String frameworkVersion, String artifactType )
throws PlatformUnsupportedException
{
- // TODO: Duplicate code with CompilerContextImpl.init
+ return getSingleVendorInfoByRequirement( new VendorRequirement( vendor, null, frameworkVersion ) )
+ .getGlobalAssemblyCacheDirectoryFor(artifactType);
+ }
- if (ArtifactTypeHelper.isDotnetGenericGac( artifactType ))
- {
- if ( vendor.equals( Vendor.MICROSOFT ) && frameworkVersion.equals( "1.1.4322" ) )
- {
- return new File( System.getenv("SystemRoot"), "\\assembly\\GAC\\" );
- }
- else if ( vendor.equals( Vendor.MICROSOFT ) )
- {
- // Layout changed since 2.0
- // http://discuss.joelonsoftware.com/default.asp?dotnet.12.383883.5
- return new File( System.getenv("SystemRoot"), "\\assembly\\GAC_MSIL\\" );
- }
- else if ( vendor.equals( Vendor.MONO ) && exists() )
- {
- List<VendorInfo> vendorInfos =
- getVendorInfosFor( vendor.getVendorName(), null, frameworkVersion, true );
- Set<String> vendorVersions = new HashSet<String>();
- for ( VendorInfo vendorInfo : vendorInfos )
- {
- vendorVersions.add( vendorInfo.getVendorVersion() );
- }
- String maxVersion;
- try
- {
- maxVersion = getMaxVersion( vendorVersions );
- }
- catch ( InvalidVersionFormatException e )
- {
- throw new PlatformUnsupportedException( "NPANDAY-xxx-000: Invalid version format", e );
- }
-
- for ( VendorInfo vendorInfo : vendorInfos )
- {
- if ( vendorInfo.getVendorVersion().equals( maxVersion ) )
- {
- File sdkInstallRoot = getSdkInstallRootFor( vendorInfo );
- File gacRoot = new File( sdkInstallRoot.getParentFile().getAbsolutePath() + "/lib/mono/gac" );
- if ( !gacRoot.exists() )
- {
- throw new PlatformUnsupportedException(
- "NPANDAY-xxx-000: The Mono GAC path does not exist: Path = " +
- gacRoot.getAbsolutePath() );
- }
- return gacRoot;
- }
- }
-
- //TODO: MONO Support for Linux (Separate file containg installs)
- }
- }
- else if ( artifactType.equals( ArtifactType.GAC.getPackagingType() ) )
- {
- return new File( System.getenv("SystemRoot"), "\\assembly\\GAC\\" );
- }
- else if ( artifactType.equals( ArtifactType.GAC_32.getPackagingType() ) )
- {
- return new File(System.getenv("SystemRoot"), "\\assembly\\GAC_32\\" );
- }
- else if ( artifactType.equals( ArtifactType.GAC_32_4.getPackagingType() ) )
- {
- return new File(System.getenv("SystemRoot"), "\\Microsoft.NET\\assembly\\GAC_32\\" );
- }
- else if ( artifactType.equals( ArtifactType.GAC_64.getPackagingType() ) )
- {
- return new File(System.getenv("SystemRoot"), "\\assembly\\GAC_64\\" );
- }
- else if ( artifactType.equals( ArtifactType.GAC_64_4.getPackagingType() ) )
- {
- return new File(System.getenv("SystemRoot"), "\\Microsoft.NET\\assembly\\GAC_64\\" );
- }
- else if ( artifactType.equals( ArtifactType.GAC_MSIL.getPackagingType() ) )
- {
- return new File( System.getenv("SystemRoot"), "\\assembly\\GAC_MSIL\\" );
- }
- else if ( artifactType.equals( ArtifactType.GAC_MSIL4.getPackagingType() ) )
- {
- return new File( System.getenv("SystemRoot"), "\\Microsoft.NET\\assembly\\GAC_MSIL\\" );
- }
- throw new PlatformUnsupportedException("NPANDAY-200-002: Could not locate a valid GAC");
+ public boolean isEmpty()
+ {
+ return getVendorInfos().size() == 0;
+ }
+
+ public void setRepositoryRegistry( RepositoryRegistry repositoryRegistry )
+ {
+ this.repositoryRegistry = repositoryRegistry;
}
}
+
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=1214869&r1=1214868&r2=1214869&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 Thu Dec 15 17:07:06 2011
@@ -18,29 +18,35 @@
*/
package npanday.vendor.impl;
-import npanday.vendor.*;
import npanday.InitializationException;
import npanday.PlatformUnsupportedException;
import npanday.registry.RepositoryRegistry;
+import npanday.vendor.InvalidVersionFormatException;
+import npanday.vendor.SettingsException;
+import npanday.vendor.SettingsRepository;
+import npanday.vendor.SettingsUtil;
+import npanday.vendor.Vendor;
+import npanday.vendor.VendorFactory;
+import npanday.vendor.VendorInfo;
+import npanday.vendor.VendorInfoRepository;
+import npanday.vendor.VendorInfoTransitionRule;
+import npanday.vendor.VendorRequirement;
+import npanday.vendor.VendorRequirementState;
+import org.codehaus.plexus.logging.Logger;
+import java.util.HashSet;
import java.util.List;
import java.util.Set;
-import java.util.HashSet;
-import java.util.ArrayList;
-import java.io.File;
-
-import org.codehaus.plexus.logging.Logger;
/**
* Provides factory methods for creating vendor info transition rules. These rules usually can determine the
* exact vendor info; but at times, it is a best guess.
*
* @author Shane Isbell
- * @see VendorInfoState
+ * @see npanday.vendor.VendorRequirementState
*/
final class VendorInfoTransitionRuleFactory
{
-
private VendorInfoRepository vendorInfoRepository;
/**
@@ -96,6 +102,7 @@ final class VendorInfoTransitionRuleFact
}
logger.debug( "NPANDAY-103-036.0: Respository registry: " + repositoryRegistry);
+ // TODO: I think we should make sure settingsrepo is filled prio to this
SettingsRepository settingsRepository = null;
try
{
@@ -106,54 +113,9 @@ final class VendorInfoTransitionRuleFact
throw new InitializationException( "NPANDAY-103-067: Could not get settings." , e);
}
- if (settingsRepository != null)
- {
- try
- {
- defaultVendor = VendorFactory.createVendorFromName( settingsRepository.getDefaultSetup().getVendorName() );
- logger.debug( "NPANDAY-103-036: Default Vendor Initialized: Name = " + defaultVendor );
- }
- catch ( VendorUnsupportedException e )
- {
- throw new InitializationException( "NPANDAY-103-002: Unknown Default Vendor: Name = " + defaultVendor, e );
- }
- defaultVendorVersion = settingsRepository.getDefaultSetup().getVendorVersion().trim();
- defaultFrameworkVersion = settingsRepository.getDefaultSetup().getFrameworkVersion().trim();
- }
- }
-
- VendorInfoTransitionRule createPostProcessRule()
- {
- return new VendorInfoTransitionRule()
- {
- public VendorInfoState process( VendorInfo vendorInfo )
- {
- logger.debug( "NPANDAY-103-034: Entering State = Post Process, applying executable paths" );
- if ( ( vendorInfo.getExecutablePaths() == null || vendorInfo.getExecutablePaths().size() == 0 ) &&
- vendorInfoRepository.exists() )
- {
- try
- {
- List<File> existingPaths = new ArrayList<File>();
- 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 );
- }
- else {
- existingPaths.add(path);
- }
- }
- vendorInfo.setExecutablePaths( existingPaths );
- }
- catch ( PlatformUnsupportedException e )
- {
- logger.debug( "NPANDAY-103-36: Failed to resolve configured executable paths." );
- }
- }
- return VendorInfoState.EXIT;
- }
- };
+ defaultVendor = VendorFactory.createVendorFromName( settingsRepository.getDefaultSetup().getVendorName() );
+ defaultVendorVersion = settingsRepository.getDefaultSetup().getVendorVersion().trim();
+ defaultFrameworkVersion = settingsRepository.getDefaultSetup().getFrameworkVersion().trim();
}
/**
@@ -165,10 +127,10 @@ final class VendorInfoTransitionRuleFact
{
return new VendorInfoTransitionRule()
{
- public VendorInfoState process( VendorInfo vendorInfo )
+ public VendorRequirementState process( VendorRequirement vendorInfo )
{
logger.debug( "NPANDAY-103-003: Entering State = NTT" );
- return VendorInfoState.POST_PROCESS;
+ return VendorRequirementState.EXIT;
}
};
}
@@ -177,7 +139,7 @@ final class VendorInfoTransitionRuleFact
{
return new VendorInfoTransitionRule()
{
- public VendorInfoState process( VendorInfo vendorInfo )
+ public VendorRequirementState process( VendorRequirement vendorInfo )
{
logger.debug( "NPANDAY-103-004: Entering State = NFF" );
logger.debug( "NPANDAY-103-041: Vendor:" + vendorInfo.getVendor() + ":default vendor:" + defaultVendor );
@@ -186,7 +148,7 @@ final class VendorInfoTransitionRuleFact
vendorInfo.setVendorVersion( defaultVendorVersion );
logger.debug( "NPANDAY-103-042: Set default framework:" + defaultFrameworkVersion );
vendorInfo.setFrameworkVersion( defaultFrameworkVersion );
- return VendorInfoState.POST_PROCESS;
+ return VendorRequirementState.EXIT;
}
else
{
@@ -199,9 +161,10 @@ final class VendorInfoTransitionRuleFact
if ( vi.getVendor().equals( vendorInfo.getVendor() ) )
{
vendorInfo.setVendorVersion( vi.getVendorVersion() );
- logger.debug( "NPANDAY-103-044: Hard code the frameworkd (default framework:" + defaultFrameworkVersion + ")" );
+ logger.warn( "NPANDAY-103-044: Hard code the frameworkd (default framework:"
+ + defaultFrameworkVersion + ")" );
vendorInfo.setFrameworkVersion( "2.0.50727" );
- return VendorInfoState.POST_PROCESS;
+ return VendorRequirementState.EXIT;
}
}
}
@@ -214,41 +177,16 @@ final class VendorInfoTransitionRuleFact
if ( vi.getVendor().equals( vendorInfo.getVendor() ) )
{
vendorInfo.setVendorVersion( vi.getVendorVersion() );
- logger.debug( "NPANDAY-103-045: Hard code the frameworkd (default framework:" + defaultFrameworkVersion + ")" );
+ logger.warn( "NPANDAY-103-045: Hard code the frameworkd (default framework:"
+ + defaultFrameworkVersion + ")" );
vendorInfo.setFrameworkVersion(
"2.0.50727" ); //TODO: this should be according to max version
- return VendorInfoState.POST_PROCESS;
+ return VendorRequirementState.EXIT;
}
}
}
}
- return createVendorInfoSetterForNFF_NoSettings().process( vendorInfo );
- }
- };
- }
-
- VendorInfoTransitionRule createVendorInfoSetterForNFF_NoSettings()
- {
- return new VendorInfoTransitionRule()
- {
- public VendorInfoState process( VendorInfo vendorInfo )
- {
- logger.debug( "NPANDAY-103-005: Entering State = NFF" );
- logger.debug( "NPANDAY-103-047: Hard code the frameworkd (default framework:" + defaultFrameworkVersion + ")" );
- vendorInfo.setFrameworkVersion( "2.0.50727" );
- return VendorInfoState.NFT;
- }
- };
- }
-
- VendorInfoTransitionRule createVendorInfoSetterForNFT_NoSettings()
- {
- return new VendorInfoTransitionRule()
- {
- public VendorInfoState process( VendorInfo vendorInfo )
- {
- logger.debug( "NPANDAY-103-006: Entering State = NFT" );
- return VendorInfoState.POST_PROCESS; //NO WAY TO KNOW
+ return VendorRequirementState.EXIT;
}
};
}
@@ -257,14 +195,14 @@ final class VendorInfoTransitionRuleFact
{
return new VendorInfoTransitionRule()
{
- public VendorInfoState process( VendorInfo vendorInfo )
+ public VendorRequirementState process( VendorRequirement vendorInfo )
{
logger.debug( "NPANDAY-103-007: Entering State = NFT" );
if ( vendorInfo.getFrameworkVersion().equals( defaultFrameworkVersion ) &&
vendorInfo.getVendor().equals( defaultVendor ) )
{
vendorInfo.setVendorVersion( defaultVendorVersion );
- return VendorInfoState.NTT;
+ return VendorRequirementState.NTT;
}
else
{
@@ -288,14 +226,14 @@ final class VendorInfoTransitionRuleFact
}
catch ( InvalidVersionFormatException e )
{
- logger.warn( "NPANDAY-103-039: Bad npanday-settings.xml file", e );
- return createVendorInfoSetterForNFT_NoSettings().process( vendorInfo );
+ logger.error( "NPANDAY-103-039: Bad npanday-settings.xml file", e );
+ return VendorRequirementState.EXIT;
}
- return VendorInfoState.NTT;
+ return VendorRequirementState.NTT;
}
else
{
- return createVendorInfoSetterForNFT_NoSettings().process( vendorInfo );
+ return VendorRequirementState.EXIT;
}
}
else
@@ -318,36 +256,23 @@ final class VendorInfoTransitionRuleFact
}
catch ( InvalidVersionFormatException e )
{
- logger.warn( "NPANDAY-103-040: Bad npanday-settings.xml file", e );
- return createVendorInfoSetterForNFT_NoSettings().process( vendorInfo );
+ logger.error( "NPANDAY-103-040: Bad npanday-settings.xml file", e );
+ return VendorRequirementState.EXIT;
}
- return VendorInfoState.NTT;
+ return VendorRequirementState.NTT;
}
- return createVendorInfoSetterForNFT_NoSettings().process( vendorInfo );
+ return VendorRequirementState.EXIT;
}
}
}
};
}
- VendorInfoTransitionRule createVendorInfoSetterForNTF_NoSettings()
- {
- return new VendorInfoTransitionRule()
- {
- public VendorInfoState process( VendorInfo vendorInfo )
- {
- logger.debug( "NPANDAY-103-008: Entering State = NTF" );
- vendorInfo.setFrameworkVersion( "2.0.50727" );
- return VendorInfoState.NTT;
- }
- };
- }
-
VendorInfoTransitionRule createVendorInfoSetterForNTF()
{
return new VendorInfoTransitionRule()
{
- public VendorInfoState process( VendorInfo vendorInfo )
+ public VendorRequirementState process( VendorRequirement vendorInfo )
{
logger.debug( "NPANDAY-103-009: Entering State = NTF" );
logger.debug( "NPANDAY-103-049: Compare vendor version :" + defaultVendorVersion + ":width:" + vendorInfo.getVendorVersion());
@@ -357,7 +282,7 @@ final class VendorInfoTransitionRuleFact
logger.debug( "NPANDAY-103-049: Set to default framework:" + defaultFrameworkVersion + ")" );
vendorInfo.setFrameworkVersion( defaultFrameworkVersion );
vendorInfo.setVendor( defaultVendor );
- return VendorInfoState.NTT;
+ return VendorRequirementState.NTT;
}
else
{
@@ -382,14 +307,14 @@ final class VendorInfoTransitionRuleFact
}
catch ( InvalidVersionFormatException e )
{
- logger.warn( "NPANDAY-103-037: Bad npanday-settings.xml file", e );
- return createVendorInfoSetterForNTF_NoSettings().process( vendorInfo );
+ logger.error( "NPANDAY-103-037: Bad npanday-settings.xml file", e );
+ return VendorRequirementState.EXIT;
}
- return VendorInfoState.NTT;
+ return VendorRequirementState.NTT;
}
else
{
- return createVendorInfoSetterForNTF_NoSettings().process( vendorInfo );
+ return VendorRequirementState.EXIT;
}
}
else
@@ -413,14 +338,14 @@ final class VendorInfoTransitionRuleFact
}
catch ( InvalidVersionFormatException e )
{
- logger.warn( "NPANDAY-103-038: Bad npanday-settings.xml file", e );
- return createVendorInfoSetterForNTF_NoSettings().process( vendorInfo );
+ logger.error( "NPANDAY-103-038: Bad npanday-settings.xml file", e );
+ return VendorRequirementState.EXIT;
}
- return VendorInfoState.NTT;
+ return VendorRequirementState.NTT;
}
else
{
- return createVendorInfoSetterForNTF_NoSettings().process( vendorInfo );
+ return VendorRequirementState.EXIT;
}
}
}
@@ -428,33 +353,11 @@ final class VendorInfoTransitionRuleFact
};
}
- VendorInfoTransitionRule createVendorInfoSetterForFTF_NoSettings()
- {
- return new VendorInfoTransitionRule()
- {
- public VendorInfoState process( VendorInfo vendorInfo )
- {
- logger.debug( "NPANDAY-103-010: Entering State = FTF" );
- String vendorVersion = vendorInfo.getVendorVersion();
- if ( vendorVersion.equals( "2.0.50727" ) || vendorVersion.equals( "1.1.4322" ) )
- {
- vendorInfo.setVendor( Vendor.MICROSOFT );
- return VendorInfoState.MTF;
- }
- else
- {
- vendorInfo.setVendor( Vendor.MONO );//This could be dotGNU: this is best guess
- return VendorInfoState.NTF;
- }
- }
- };
- }
-
VendorInfoTransitionRule createVendorInfoSetterForFTF()
{
return new VendorInfoTransitionRule()
{
- public VendorInfoState process( VendorInfo vendorInfo )
+ public VendorRequirementState process( VendorRequirement vendorInfo )
{
logger.debug( "NPANDAY-103-011: Entering State = FTF" );
logger.debug( "NPANDAY-103-067: Compare vendor version :" + defaultVendorVersion + ":width:" + vendorInfo.getVendorVersion());
@@ -467,15 +370,15 @@ final class VendorInfoTransitionRuleFact
vendorInfo.setVendor( defaultVendor );
if ( defaultVendor.equals( Vendor.MICROSOFT ) )
{
- return VendorInfoState.MTT;
+ return VendorRequirementState.MTT;
}
else if ( defaultVendor.equals( Vendor.MONO ) )
{
- return VendorInfoState.NTT;
+ return VendorRequirementState.NTT;
}
else
{
- return VendorInfoState.GTT;
+ return VendorRequirementState.GTT;
}
}
else
@@ -495,19 +398,19 @@ final class VendorInfoTransitionRuleFact
vendorInfo.setVendor( vi.getVendor() );
if ( vi.getVendor().equals( Vendor.MICROSOFT ) )
{
- return VendorInfoState.MTT;
+ return VendorRequirementState.MTT;
}
else if ( vi.getVendor().equals( Vendor.MONO ) )
{
- return VendorInfoState.NTT;
+ return VendorRequirementState.NTT;
}
else
{
- return VendorInfoState.GTT;
+ return VendorRequirementState.GTT;
}
}
}
- return createVendorInfoSetterForFTF_NoSettings().process( vendorInfo );
+ return VendorRequirementState.EXIT;
}
else
{
@@ -524,19 +427,19 @@ final class VendorInfoTransitionRuleFact
vendorInfo.setVendor( vi.getVendor() );
if ( vi.getVendor().equals( Vendor.MICROSOFT ) )
{
- return VendorInfoState.MTT;
+ return VendorRequirementState.MTT;
}
else if ( vi.getVendor().equals( Vendor.MONO ) )
{
- return VendorInfoState.NTT;
+ return VendorRequirementState.NTT;
}
else
{
- return VendorInfoState.GTT;
+ return VendorRequirementState.GTT;
}
}
}
- return createVendorInfoSetterForFTF_NoSettings().process( vendorInfo );
+ return VendorRequirementState.EXIT;
}
}
}
@@ -547,7 +450,7 @@ final class VendorInfoTransitionRuleFact
{
return new VendorInfoTransitionRule()
{
- public VendorInfoState process( VendorInfo vendorInfo )
+ public VendorRequirementState process( VendorRequirement vendorInfo )
{
logger.debug( "NPANDAY-103-012: Entering State = FFT" );
if ( vendorInfo.getFrameworkVersion().equals( defaultFrameworkVersion ) )
@@ -556,15 +459,15 @@ final class VendorInfoTransitionRuleFact
vendorInfo.setVendor( defaultVendor );
if ( defaultVendor.equals( Vendor.MICROSOFT ) )
{
- return VendorInfoState.MTT;
+ return VendorRequirementState.MTT;
}
else if ( defaultVendor.equals( Vendor.MONO ) )
{
- return VendorInfoState.NTT;
+ return VendorRequirementState.NTT;
}
else
{
- return VendorInfoState.GTT;
+ return VendorRequirementState.GTT;
}
}
else
@@ -575,7 +478,7 @@ final class VendorInfoTransitionRuleFact
}
catch ( PlatformUnsupportedException e )
{
- return VendorInfoState.POST_PROCESS;
+ return VendorRequirementState.EXIT;
}
List<VendorInfo> v = vendorInfoRepository.getVendorInfosFor( vendorInfo, true );
if ( !v.isEmpty() )
@@ -587,15 +490,15 @@ final class VendorInfoTransitionRuleFact
vendorInfo.setVendorVersion( vi.getVendorVersion() );
if ( vi.getVendor().equals( Vendor.MICROSOFT ) )
{
- return VendorInfoState.MTT;
+ return VendorRequirementState.MTT;
}
else if ( vi.getVendor().equals( Vendor.MONO ) )
{
- return VendorInfoState.NTT;
+ return VendorRequirementState.NTT;
}
else
{
- return VendorInfoState.GTT;
+ return VendorRequirementState.GTT;
}
}
}
@@ -608,72 +511,19 @@ final class VendorInfoTransitionRuleFact
vendorInfo.setVendorVersion( vi.getVendorVersion() );
if ( vi.getVendor().equals( Vendor.MICROSOFT ) )
{
- return VendorInfoState.MTT;
+ return VendorRequirementState.MTT;
}
else if ( vi.getVendor().equals( Vendor.MONO ) )
{
- return VendorInfoState.NTT;
+ return VendorRequirementState.NTT;
}
else
{
- return VendorInfoState.GTT;
+ return VendorRequirementState.GTT;
}
}
}
- return createVendorInfoSetterForFFT_NoSettings().process( vendorInfo );
- }
- }
- };
- }
-
- VendorInfoTransitionRule createVendorInfoSetterForFFT_NoSettings()
- {
- return new VendorInfoTransitionRule()
- {
- public VendorInfoState process( VendorInfo vendorInfo )
- {
- logger.debug( "NPANDAY-103-013: Entering State = FFT" );
- try
- {
- vendorInfo.setVendor( VendorFactory.getDefaultVendorForOS() );
- }
- catch ( PlatformUnsupportedException e )
- {
- return VendorInfoState.POST_PROCESS;
- }
- return ( vendorInfo.getVendor().equals( Vendor.MICROSOFT ) ) ? VendorInfoState.MFT
- : VendorInfoState.NFT;
- }
- };
- }
-
- VendorInfoTransitionRule createVendorInfoSetterForFTT_NoSettings()
- {
- return new VendorInfoTransitionRule()
- {
- public VendorInfoState process( VendorInfo vendorInfo )
- {
- logger.debug( "NPANDAY-103-014: Entering State = FTT" );
- String vendorVersion = vendorInfo.getVendorVersion();
- Vendor defaultVendor;
- try
- {
- defaultVendor = VendorFactory.getDefaultVendorForOS();
- }
- catch ( PlatformUnsupportedException e )
- {
- return VendorInfoState.POST_PROCESS;
- }
- if ( ( vendorVersion.equals( "2.0.50727" ) || vendorVersion.equals( "1.1.4322" ) ) &&
- defaultVendor.equals( Vendor.MICROSOFT ) )
- {
- vendorInfo.setVendor( Vendor.MICROSOFT );
- return VendorInfoState.MTT;
- }
- else
- {
- vendorInfo.setVendor( Vendor.MONO );//This could be dotGNU: this is best guess
- return VendorInfoState.NTT;
+ return VendorRequirementState.EXIT;
}
}
};
@@ -683,49 +533,28 @@ final class VendorInfoTransitionRuleFact
{
return new VendorInfoTransitionRule()
{
- public VendorInfoState process( VendorInfo vendorInfo )
+ public VendorRequirementState process( VendorRequirement vendorInfo )
{
logger.debug( "NPANDAY-103-015: Entering State = FTT" );
List<VendorInfo> vendorInfos = vendorInfoRepository.getVendorInfosFor( vendorInfo, false );
if ( vendorInfos.isEmpty() )
{
- return createVendorInfoSetterForFTT_NoSettings().process( vendorInfo );
+ return VendorRequirementState.EXIT;
}
Vendor vendor = vendorInfos.get( 0 ).getVendor();//TODO: Do default branch
vendorInfo.setVendor( vendor );
if ( vendor.equals( Vendor.MICROSOFT ) )
{
- return VendorInfoState.MTT;
+ return VendorRequirementState.MTT;
}
else if ( vendor.equals( Vendor.MONO ) )
{
- return VendorInfoState.NTT;
+ return VendorRequirementState.NTT;
}
else
{
- return VendorInfoState.GTT;
- }
- }
- };
- }
-
- VendorInfoTransitionRule createVendorInfoSetterForFFF_NoSettings()
- {
- return new VendorInfoTransitionRule()
- {
- public VendorInfoState process( VendorInfo vendorInfo )
- {
- logger.debug( "NPANDAY-103-016: Entering State = FFF" );
- try
- {
- vendorInfo.setVendor( VendorFactory.getDefaultVendorForOS() );
+ return VendorRequirementState.GTT;
}
- catch ( PlatformUnsupportedException e )
- {
- return VendorInfoState.POST_PROCESS;
- }
- return ( vendorInfo.getVendor().equals( Vendor.MICROSOFT ) ) ? VendorInfoState.MFF
- : VendorInfoState.NFF;
}
};
}
@@ -734,14 +563,14 @@ final class VendorInfoTransitionRuleFact
{
return new VendorInfoTransitionRule()
{
- public VendorInfoState process( VendorInfo vendorInfo )
+ public VendorRequirementState process( VendorRequirement vendorInfo )
{
logger.debug( "NPANDAY-103-017: Entering State = FFF" );
vendorInfo.setVendor( defaultVendor );
vendorInfo.setVendorVersion( defaultVendorVersion );
logger.debug( "NPANDAY-103-052: Set to default framework version:" + defaultFrameworkVersion);
vendorInfo.setFrameworkVersion( defaultFrameworkVersion );
- return VendorInfoState.POST_PROCESS;
+ return VendorRequirementState.EXIT;
}
};
}
@@ -751,10 +580,10 @@ final class VendorInfoTransitionRuleFact
{
return new VendorInfoTransitionRule()
{
- public VendorInfoState process( VendorInfo vendorInfo )
+ public VendorRequirementState process( VendorRequirement vendorInfo )
{
logger.debug( "NPANDAY-103-018: Entering State = MTT" );
- return VendorInfoState.POST_PROCESS;
+ return VendorRequirementState.EXIT;
}
};
}
@@ -763,12 +592,12 @@ final class VendorInfoTransitionRuleFact
{
return new VendorInfoTransitionRule()
{
- public VendorInfoState process( VendorInfo vendorInfo )
+ public VendorRequirementState process( VendorRequirement vendorInfo )
{
logger.debug( "NPANDAY-103-019: Entering State = MTF" );
logger.debug( "NPANDAY-103-053: Set to framework version:" + vendorInfo.getVendorVersion());
vendorInfo.setFrameworkVersion( vendorInfo.getVendorVersion() );
- return VendorInfoState.MTT;
+ return VendorRequirementState.MTT;
}
};
}
@@ -777,58 +606,11 @@ final class VendorInfoTransitionRuleFact
{
return new VendorInfoTransitionRule()
{
- public VendorInfoState process( VendorInfo vendorInfo )
+ public VendorRequirementState process( VendorRequirement vendorInfo )
{
logger.debug( "NPANDAY-103-020: Entering State = MTF" );
vendorInfo.setVendorVersion( vendorInfo.getFrameworkVersion() );
- return VendorInfoState.MTT;
- }
- };
- }
-
- VendorInfoTransitionRule createVendorInfoSetterForMFF_NoSettings()
- {
- return new VendorInfoTransitionRule()
- {
- public VendorInfoState process( VendorInfo vendorInfo )
- {
- logger.debug( "NPANDAY-103-021: Entering State = MFF" );
- String systemRoot = System.getenv("SystemRoot");
- String systemDrive = System.getenv("SystemDrive");
- File v1 = new File( systemRoot, "\\Microsoft.NET\\Framework\\v1.1.4322" );
- File v2 = new File( systemRoot, "\\Microsoft.NET\\Framework\\v2.0.50727" );
- File v3 = new File( systemDrive, "\\Program Files\\Microsoft.NET\\SDK\\v1.1" );
- File v4 = new File( systemDrive, "\\Program Files\\Microsoft.NET\\SDK\\v2.0" );
- List<File> executablePaths = new ArrayList<File>();
-
- if ( v2.exists() )
- {
- logger.debug( "NPANDAY-103-055: Hardcode framework version (default:" + defaultFrameworkVersion + ")");
- vendorInfo.setFrameworkVersion( "2.0.50727" );
- executablePaths.add( v2 );
- if ( v4.exists() )
- {
- executablePaths.add( v4 );
- }
- }
- else if ( v1.exists() )
- {
- logger.debug( "NPANDAY-103-056: Hardcode framework version (default:" + defaultFrameworkVersion + ")");
- vendorInfo.setFrameworkVersion( "1.1.4322" );
- executablePaths.add( v1 );
- if ( v3.exists() )
- {
- executablePaths.add( v3 );
- }
- }
- else
- {
- logger.debug( "NPANDAY-103-057: Hardcode framework version:");
- vendorInfo.setFrameworkVersion( "2.0.50727" );
- }
-
- vendorInfo.setExecutablePaths( executablePaths );
- return VendorInfoState.MFT;
+ return VendorRequirementState.MTT;
}
};
}
@@ -837,13 +619,13 @@ final class VendorInfoTransitionRuleFact
{
return new VendorInfoTransitionRule()
{
- public VendorInfoState process( VendorInfo vendorInfo )
+ public VendorRequirementState process( VendorRequirement vendorInfo )
{
logger.debug( "NPANDAY-103-022: Entering State = MFF" );
if ( vendorInfo.getVendor().equals( defaultVendor ) )
{
vendorInfo.setVendorVersion( defaultVendorVersion );
- return VendorInfoState.MTF;
+ return VendorRequirementState.MTF;
}
else
{
@@ -866,46 +648,32 @@ final class VendorInfoTransitionRuleFact
{
String maxVersion = vendorInfoRepository.getMaxVersion( versions );
vendorInfo.setVendorVersion( maxVersion );
- return VendorInfoState.MTF;
+ return VendorRequirementState.MTF;
}
catch ( InvalidVersionFormatException e )
{
- logger.info( "NPANDAY-103-030: Invalid version. Unable to determine best vendor version", e );
- return createVendorInfoSetterForMFF_NoSettings().process( vendorInfo );
+ logger.error( "NPANDAY-103-030: Invalid version. Unable to determine best vendor version", e );
+ return VendorRequirementState.EXIT;
}
}
}
};
}
- VendorInfoTransitionRule createVendorInfoSetterForGFF_NoSettings()
- {
- return new VendorInfoTransitionRule()
- {
- public VendorInfoState process( VendorInfo vendorInfo )
- {
- logger.debug( "NPANDAY-103-023: Entering State = GFF" );
- logger.debug( "NPANDAY-103-058: Hardcode framework version:");
- vendorInfo.setFrameworkVersion( "2.0.50727" );
- vendorInfo.setVendorVersion( "2.0.50727" );
- return VendorInfoState.POST_PROCESS;
- }
- };
- }
-
VendorInfoTransitionRule createVendorInfoSetterForGFF()
{
return new VendorInfoTransitionRule()
{
- public VendorInfoState process( VendorInfo vendorInfo )
+ public VendorRequirementState process( VendorRequirement vendorInfo )
{
logger.debug( "NPANDAY-103-035: Entering State = GFF" );
if ( vendorInfo.getVendor().equals( defaultVendor ) )
{
vendorInfo.setVendorVersion( defaultVendorVersion );
- logger.debug( "NPANDAY-103-059: Hardcode framework version (default:" + defaultFrameworkVersion + ")" );
+ logger.warn(
+ "NPANDAY-103-059: Hardcode framework version (default:" + defaultFrameworkVersion + ")" );
vendorInfo.setFrameworkVersion( "2.0.50727" );
- return VendorInfoState.POST_PROCESS;
+ return VendorRequirementState.EXIT;
}
else
{
@@ -925,16 +693,15 @@ final class VendorInfoTransitionRuleFact
vendorInfo.setVendorVersion( maxVersion );
logger.debug( "NPANDAY-103-060: Hardcode framework version (default:" + defaultFrameworkVersion + ")" );
vendorInfo.setFrameworkVersion( "2.0.50727" );
- return VendorInfoState.POST_PROCESS;
+ return VendorRequirementState.EXIT;
}
catch ( InvalidVersionFormatException e )
{
- logger.info( "NPANDAY-103-031: Invalid version. Unable to determine best vendor version", e );
- return createVendorInfoSetterForGFF_NoSettings().process( vendorInfo );
+ logger.error( "NPANDAY-103-031: Invalid version. Unable to determine best vendor version", e );
+ return VendorRequirementState.EXIT;
}
}
}
};
}
- //TODO: add additional DotGNU states
}
Added: incubator/npanday/trunk/components/dotnet-vendor/src/test/java/npanday/vendor/VendorRequirementStateTest.java
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/components/dotnet-vendor/src/test/java/npanday/vendor/VendorRequirementStateTest.java?rev=1214869&view=auto
==============================================================================
--- incubator/npanday/trunk/components/dotnet-vendor/src/test/java/npanday/vendor/VendorRequirementStateTest.java (added)
+++ incubator/npanday/trunk/components/dotnet-vendor/src/test/java/npanday/vendor/VendorRequirementStateTest.java Thu Dec 15 17:07:06 2011
@@ -0,0 +1,127 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package npanday.vendor;
+
+import junit.framework.TestCase;
+
+public class VendorRequirementStateTest
+ extends TestCase
+{
+
+ public void testMTT()
+ {
+ VendorRequirementState vendorRequirementState = VendorRequirementState.NULL.getState( VendorTestFactory.getVendorRequirement( Vendor.MICROSOFT, "2.0.50727", "2.0.50727" ) );
+ assert ( VendorRequirementState.MTT.equals( vendorRequirementState ) );
+ }
+
+ public void testMFT()
+ {
+ VendorRequirementState vendorRequirementState = VendorRequirementState.NULL.getState( VendorTestFactory.getVendorRequirement( Vendor.MICROSOFT, null, "2.0.50727" ) );
+ assert ( VendorRequirementState.MFT.equals( vendorRequirementState ) );
+ }
+
+ public void testMFF()
+ {
+ VendorRequirementState vendorRequirementState = VendorRequirementState.NULL.getState( VendorTestFactory.getVendorRequirement( Vendor.MICROSOFT, null, null ) );
+ assert ( VendorRequirementState.MFF.equals( vendorRequirementState ) );
+ }
+
+ public void testMTF()
+ {
+ VendorRequirementState vendorRequirementState = VendorRequirementState.NULL.getState( VendorTestFactory.getVendorRequirement( Vendor.MICROSOFT, "2.0.50727", null ) );
+ assert ( VendorRequirementState.MTF.equals( vendorRequirementState ) );
+ }
+
+ public void testNTT()
+ {
+ VendorRequirementState vendorRequirementState = VendorRequirementState.NULL.getState( VendorTestFactory.getVendorRequirement( Vendor.MONO, "1.1.18", "2.0.50727" ) );
+ assert ( VendorRequirementState.NTT.equals( vendorRequirementState ) );
+ }
+
+ public void testNFT()
+ {
+ VendorRequirementState vendorRequirementState = VendorRequirementState.NULL.getState( VendorTestFactory.getVendorRequirement( Vendor.MONO, null, "2.0.50727" ) );
+ assert ( VendorRequirementState.NFT.equals( vendorRequirementState ) );
+ }
+
+ public void testNFF()
+ {
+ VendorRequirementState vendorRequirementState =
+ VendorRequirementState.NULL.getState( VendorTestFactory.getVendorRequirement( Vendor.MONO, null, null ) );
+ assert ( VendorRequirementState.NFF.equals( vendorRequirementState ) );
+ }
+
+ public void testNTF()
+ {
+ VendorRequirementState vendorRequirementState = VendorRequirementState.NULL.getState( VendorTestFactory.getVendorRequirement( Vendor.MONO, "1.1.18", null ) );
+ assert ( VendorRequirementState.NTF.equals( vendorRequirementState ) );
+ }
+
+ public void testGTT()
+ {
+ VendorRequirementState vendorRequirementState = VendorRequirementState.NULL.getState( VendorTestFactory.getVendorRequirement( Vendor.DOTGNU, "0.7.2", "2.0.50727" ) );
+ assert ( VendorRequirementState.GTT.equals( vendorRequirementState ) );
+ }
+
+ public void testGFT()
+ {
+ VendorRequirementState vendorRequirementState = VendorRequirementState.NULL.getState( VendorTestFactory.getVendorRequirement( Vendor.DOTGNU, null, "2.0.50727" ) );
+ assert ( VendorRequirementState.GFT.equals( vendorRequirementState ) );
+ }
+
+ public void testGFF()
+ {
+ VendorRequirementState vendorRequirementState =
+ VendorRequirementState.NULL.getState( VendorTestFactory.getVendorRequirement( Vendor.DOTGNU, null, null ) );
+ assert ( VendorRequirementState.GFF.equals( vendorRequirementState ) );
+ }
+
+ public void testGTF()
+ {
+ VendorRequirementState vendorRequirementState = VendorRequirementState.NULL.getState( VendorTestFactory.getVendorRequirement( Vendor.DOTGNU, "0.7.2", null ) );
+ assert ( VendorRequirementState.GTF.equals( vendorRequirementState ) );
+ }
+
+ public void testFTT()
+ {
+ VendorRequirementState vendorRequirementState = VendorRequirementState.NULL.getState( VendorTestFactory.getVendorRequirement( null, "0.7.2", "2.0.50727" ) );
+ assert ( VendorRequirementState.FTT.equals( vendorRequirementState ) );
+ }
+
+ public void testFFT()
+ {
+ VendorRequirementState vendorRequirementState =
+ VendorRequirementState.NULL.getState( VendorTestFactory.getVendorRequirement( null, null, "2.0.50727" ) );
+ assert ( VendorRequirementState.FFT.equals( vendorRequirementState ) );
+ }
+
+ public void testFFF()
+ {
+ VendorRequirementState vendorRequirementState =
+ VendorRequirementState.NULL.getState( VendorTestFactory.getVendorRequirement( null, null, null ) );
+ assert ( VendorRequirementState.FFF.equals( vendorRequirementState ) );
+ }
+
+ public void testFTF()
+ {
+ VendorRequirementState vendorRequirementState =
+ VendorRequirementState.NULL.getState( VendorTestFactory.getVendorRequirement( null, "0.7.2", null ) );
+ assert ( VendorRequirementState.FTF.equals( vendorRequirementState ) );
+ }
+}
Modified: incubator/npanday/trunk/components/dotnet-vendor/src/test/java/npanday/vendor/VendorTestFactory.java
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/components/dotnet-vendor/src/test/java/npanday/vendor/VendorTestFactory.java?rev=1214869&r1=1214868&r2=1214869&view=diff
==============================================================================
--- incubator/npanday/trunk/components/dotnet-vendor/src/test/java/npanday/vendor/VendorTestFactory.java (original)
+++ incubator/npanday/trunk/components/dotnet-vendor/src/test/java/npanday/vendor/VendorTestFactory.java Thu Dec 15 17:07:06 2011
@@ -19,28 +19,18 @@
package npanday.vendor;
import npanday.model.settings.DefaultSetup;
-
-import java.io.File;
-import java.util.List;
+import npanday.vendor.impl.MutableVendorInfo;
public class VendorTestFactory
{
- public static VendorInfo getVendorInfo( Vendor vendor, String vendorVersion, String frameworkVersion )
+ public static VendorRequirement getVendorRequirement( Vendor vendor, String vendorVersion, String frameworkVersion )
{
- VendorInfo vendorInfo = VendorInfo.Factory.createDefaultVendorInfo();
- vendorInfo.setVendor( vendor );
- vendorInfo.setFrameworkVersion( frameworkVersion );
- vendorInfo.setVendorVersion( vendorVersion );
- return vendorInfo;
+ return new VendorRequirement(vendor, vendorVersion, frameworkVersion);
}
- public static VendorInfo getVendorInfo( Vendor vendor, String vendorVersion, String frameworkVersion,
- List<File> executablePaths )
+ public static VendorInfo getVendorInfo( Vendor vendor, String vendorVersion, String frameworkVersion )
{
- VendorInfo vendorInfo = getVendorInfo(vendor, vendorVersion, frameworkVersion);
- vendorInfo.setExecutablePaths( executablePaths );
-
- return vendorInfo;
+ return new MutableVendorInfo( vendor, vendorVersion, frameworkVersion);
}
public static DefaultSetup getDefaultSetup( String vendorName, String vendorVersion, String frameworkVersion )
Modified: incubator/npanday/trunk/components/dotnet-vendor/src/test/java/npanday/vendor/impl/MatchPolicyFactoryTest.java
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/components/dotnet-vendor/src/test/java/npanday/vendor/impl/MatchPolicyFactoryTest.java?rev=1214869&r1=1214868&r2=1214869&view=diff
==============================================================================
--- incubator/npanday/trunk/components/dotnet-vendor/src/test/java/npanday/vendor/impl/MatchPolicyFactoryTest.java (original)
+++ incubator/npanday/trunk/components/dotnet-vendor/src/test/java/npanday/vendor/impl/MatchPolicyFactoryTest.java Thu Dec 15 17:07:06 2011
@@ -22,7 +22,6 @@ import junit.framework.TestCase;
import org.codehaus.plexus.logging.console.ConsoleLogger;
import org.codehaus.plexus.logging.Logger;
import npanday.vendor.VendorInfoMatchPolicy;
-import npanday.vendor.VendorInfo;
import npanday.vendor.VendorTestFactory;
import npanday.vendor.Vendor;
@@ -83,7 +82,7 @@ public class MatchPolicyFactoryTest
public void testCreateIsDefaultPolicy_False()
{
VendorInfoMatchPolicy matchPolicy = matchPolicyFactory.createVendorIsDefaultPolicy();
- VendorInfo vendorInfo = VendorInfo.Factory.createDefaultVendorInfo();
+ MutableVendorInfo vendorInfo = new MutableVendorInfo();
vendorInfo.setDefault( false );
assertFalse( matchPolicy.match( vendorInfo ) );
}
@@ -91,7 +90,7 @@ public class MatchPolicyFactoryTest
public void testCreateIsDefaultPolicy_True()
{
VendorInfoMatchPolicy matchPolicy = matchPolicyFactory.createVendorIsDefaultPolicy();
- VendorInfo vendorInfo = VendorInfo.Factory.createDefaultVendorInfo();
+ MutableVendorInfo vendorInfo = new MutableVendorInfo();
vendorInfo.setDefault( true );
assertTrue( matchPolicy.match( vendorInfo ) );
}
Added: incubator/npanday/trunk/components/dotnet-vendor/src/test/java/npanday/vendor/impl/MutableVendorInfo.java
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/components/dotnet-vendor/src/test/java/npanday/vendor/impl/MutableVendorInfo.java?rev=1214869&view=auto
==============================================================================
--- incubator/npanday/trunk/components/dotnet-vendor/src/test/java/npanday/vendor/impl/MutableVendorInfo.java (added)
+++ incubator/npanday/trunk/components/dotnet-vendor/src/test/java/npanday/vendor/impl/MutableVendorInfo.java Thu Dec 15 17:07:06 2011
@@ -0,0 +1,121 @@
+package npanday.vendor.impl;
+
+import npanday.PlatformUnsupportedException;
+import npanday.vendor.Vendor;
+import npanday.vendor.VendorInfo;
+
+import java.io.File;
+import java.util.List;
+
+/**
+ * A pojo implementing {@link VendorInfo}. Use this, if you need a prototype
+ * for searching or you want to build up a copy yourself.
+ *
+ * @author <a href="mailto:lcorneliussen@apache.org">Lars Corneliussen</a>
+ */
+public class MutableVendorInfo
+ implements VendorInfo
+{
+ private Vendor vendor;
+ private String vendorVersion;
+ private String frameworkVersion;
+
+ private File sdkInstallRoot;
+ private File installRoot;
+ private List<File> executablePaths;
+
+ private boolean isDefault;
+
+ public MutableVendorInfo(){
+
+ }
+
+ public MutableVendorInfo( Vendor vendor, String vendorVersion, String frameworkVersion )
+ {
+ this.vendor = vendor;
+ this.vendorVersion = vendorVersion;
+ this.frameworkVersion = frameworkVersion;
+ }
+
+ public boolean isDefault()
+ {
+ return isDefault;
+ }
+
+ public void setDefault( boolean aDefault )
+ {
+ isDefault = aDefault;
+ }
+
+ public List<File> getExecutablePaths()
+ {
+ return executablePaths;
+ }
+
+ public void setExecutablePaths( List<File> executablePaths )
+ {
+ this.executablePaths = executablePaths;
+ }
+
+ public Vendor getVendor()
+ {
+ return vendor;
+ }
+
+ public void setVendor( Vendor vendor )
+ {
+ this.vendor = vendor;
+ }
+
+ public String getVendorVersion()
+ {
+ return vendorVersion;
+ }
+
+ public void setVendorVersion( String vendorVersion )
+ {
+ this.vendorVersion = vendorVersion;
+ }
+
+ public String getFrameworkVersion()
+ {
+ return frameworkVersion;
+ }
+
+ public void setFrameworkVersion( String frameworkVersion )
+ {
+ this.frameworkVersion = frameworkVersion;
+ }
+
+ public File getSdkInstallRoot()
+ {
+ return sdkInstallRoot;
+ }
+
+ public void setSdkInstallRoot( File sdkInstallRoot )
+ {
+ this.sdkInstallRoot = sdkInstallRoot;
+ }
+
+ public File getInstallRoot()
+ {
+ return installRoot;
+ }
+
+ public File getGlobalAssemblyCacheDirectoryFor( String artifactType )
+ throws PlatformUnsupportedException
+ {
+ return null; //To change body of implemented methods use File | Settings | File Templates.
+ }
+
+ public void setInstallRoot( File installRoot )
+ {
+ this.installRoot = installRoot;
+ }
+
+ public String toString()
+ {
+ return "[Manual Vendor Info for " + vendor + " " + vendorVersion + ", Framework Version = "
+ + frameworkVersion + ", Executable Paths = " + ( ( executablePaths != null ) ? executablePaths : "" + "]" );
+ }
+}
Modified: incubator/npanday/trunk/components/dotnet-vendor/src/test/java/npanday/vendor/impl/RepositoryRegistryTestStub.java
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/components/dotnet-vendor/src/test/java/npanday/vendor/impl/RepositoryRegistryTestStub.java?rev=1214869&r1=1214868&r2=1214869&view=diff
==============================================================================
--- incubator/npanday/trunk/components/dotnet-vendor/src/test/java/npanday/vendor/impl/RepositoryRegistryTestStub.java (original)
+++ incubator/npanday/trunk/components/dotnet-vendor/src/test/java/npanday/vendor/impl/RepositoryRegistryTestStub.java Thu Dec 15 17:07:06 2011
@@ -18,8 +18,10 @@
*/
package npanday.vendor.impl;
-import npanday.registry.*;
-
+import npanday.registry.NPandayRepositoryException;
+import npanday.registry.Repository;
+import npanday.registry.RepositoryRegistry;
+import npanday.vendor.SettingsRepository;
import java.io.IOException;
import java.io.InputStream;
@@ -35,14 +37,6 @@ final class RepositoryRegistryTestStub
return false;
}
- public synchronized void setRepositoryLoader( RepositoryLoader loader )
- {
- }
-
- public synchronized void setRegistryLoader( RegistryLoader loader )
- {
- }
-
public synchronized void loadFromInputStream( InputStream inputStream )
throws IOException, NPandayRepositoryException
{
Added: incubator/npanday/trunk/components/dotnet-vendor/src/test/java/npanday/vendor/impl/VendorInfoRepositoryTest.java
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/components/dotnet-vendor/src/test/java/npanday/vendor/impl/VendorInfoRepositoryTest.java?rev=1214869&view=auto
==============================================================================
--- incubator/npanday/trunk/components/dotnet-vendor/src/test/java/npanday/vendor/impl/VendorInfoRepositoryTest.java (added)
+++ incubator/npanday/trunk/components/dotnet-vendor/src/test/java/npanday/vendor/impl/VendorInfoRepositoryTest.java Thu Dec 15 17:07:06 2011
@@ -0,0 +1,129 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package npanday.vendor.impl;
+
+import junit.framework.TestCase;
+import npanday.PlatformUnsupportedException;
+import npanday.model.settings.DefaultSetup;
+import npanday.model.settings.Framework;
+import npanday.model.settings.Vendor;
+import npanday.registry.NPandayRepositoryException;
+import npanday.vendor.SettingsRepository;
+import npanday.vendor.VendorRequirement;
+import npanday.vendor.VendorTestFactory;
+
+import javax.naming.OperationNotSupportedException;
+import java.io.File;
+import java.io.IOException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Hashtable;
+import java.util.List;
+
+public class VendorInfoRepositoryTest
+ extends TestCase
+{
+ public void testGetInstallRoot()
+ {
+ DefaultSetup defaultSetup = VendorTestFactory.getDefaultSetup( "MICROSOFT", "2.0.50727", "2.0.50727" );
+
+ //Supported Types
+ List<Vendor> vendors = new ArrayList<Vendor>();
+ Vendor vendor = new Vendor();
+ vendor.setVendorName("MICROSOFT");
+ vendor.setVendorVersion("2.0.50727");
+
+ Framework framework = new Framework();
+ framework.setFrameworkVersion("2.0.50727");
+ framework.setInstallRoot(System.getenv("SystemRoot") + "\\Microsoft.NET\\Framework\\v2.0.50727");
+ framework.setSdkInstallRoot(System.getenv("SystemDrive") + "\\Program Files\\Microsoft.NET\\SDK\\v2.0");
+ vendor.addFramework( framework );
+
+ vendors.add( vendor );
+
+ SettingsRepository settingsRepository = Factory.createSettingsRepository( vendors, defaultSetup );
+ try
+ {
+ VendorInfoRepositoryImpl repo = new VendorInfoRepositoryImpl();
+ RepositoryRegistryTestStub registry = new RepositoryRegistryTestStub();
+ registry.setSettingRepository( settingsRepository );
+ repo.setRepositoryRegistry( registry );
+
+ File installRoot = repo.getSingleVendorInfoByRequirement(
+ new VendorRequirement( npanday.vendor.Vendor.MICROSOFT, "2.0.50727", "2.0.50727")).getInstallRoot();
+ assertEquals( new File(System.getenv("SystemRoot") + "\\Microsoft.NET\\Framework\\v2.0.50727"), installRoot );
+ }
+ catch ( PlatformUnsupportedException e )
+ {
+ fail("Unsupported Platform: Message = " + e.getMessage());
+ }
+ }
+
+ private static class Factory
+ {
+ static SettingsRepository createSettingsRepository( final List<Vendor> vendors, final DefaultSetup defaultSetup )
+ {
+ return new SettingsRepository(){
+
+ public List<Vendor> getVendors()
+ {
+ return vendors;
+ }
+
+ public DefaultSetup getDefaultSetup()
+ {
+ return defaultSetup;
+ }
+
+ public boolean isEmpty()
+ {
+ return false;
+ }
+
+ public int getContentVersion()
+ {
+ return 0;
+ }
+
+ public void load( URL source )
+ throws NPandayRepositoryException
+ {
+
+ }
+
+ public void clearAll()
+ throws OperationNotSupportedException
+ {
+
+ }
+
+ public void reloadAll()
+ throws IOException, NPandayRepositoryException, OperationNotSupportedException
+ {
+
+ }
+
+ public void setProperties( Hashtable props )
+ {
+
+ }
+ };
+ }
+ }
+}
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=1214869&r1=1214868&r2=1214869&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 Thu Dec 15 17:07:06 2011
@@ -24,6 +24,7 @@ import npanday.vendor.InvalidVersionForm
import npanday.vendor.Vendor;
import npanday.PlatformUnsupportedException;
+import npanday.vendor.VendorRequirement;
import java.io.File;
import java.util.List;
@@ -47,6 +48,15 @@ public class VendorInfoRepositoryTestStu
return null;
}
+ /**
+ * Determines, if the repository is empty. This happens, if the configuration couldn't be read, because no file was
+ * available, or when the underlying SettingsRepository wasn't initialized properly.
+ */
+ public boolean isEmpty()
+ {
+ return vendorInfos != null && vendorInfos.size() > 0;
+ }
+
public File getInstallRootFor( VendorInfo vendorInfo )
throws PlatformUnsupportedException
{
@@ -59,7 +69,7 @@ public class VendorInfoRepositoryTestStu
return null;
}
- public VendorInfo getConfiguredVendorInfoByExample(VendorInfo vendorInfoExample) throws PlatformUnsupportedException {
+ public VendorInfo getSingleVendorInfoByRequirement( VendorRequirement vendorRequirement ) throws PlatformUnsupportedException {
return null;
}
@@ -75,7 +85,7 @@ public class VendorInfoRepositoryTestStu
return new ArrayList<VendorInfo>();
}
- public List<VendorInfo> getVendorInfosFor( VendorInfo vendorInfo, boolean isDefault )
+ public List<VendorInfo> getVendorInfosFor( VendorRequirement vendorRequirement, boolean isDefault )
{
return vendorInfos;
}
Modified: incubator/npanday/trunk/components/dotnet-vendor/src/test/java/npanday/vendor/impl/VendorInfoTransitionRuleFactoryTest.java
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/components/dotnet-vendor/src/test/java/npanday/vendor/impl/VendorInfoTransitionRuleFactoryTest.java?rev=1214869&r1=1214868&r2=1214869&view=diff
==============================================================================
--- incubator/npanday/trunk/components/dotnet-vendor/src/test/java/npanday/vendor/impl/VendorInfoTransitionRuleFactoryTest.java (original)
+++ incubator/npanday/trunk/components/dotnet-vendor/src/test/java/npanday/vendor/impl/VendorInfoTransitionRuleFactoryTest.java Thu Dec 15 17:07:06 2011
@@ -20,23 +20,26 @@ package npanday.vendor.impl;
import junit.framework.TestCase;
import npanday.InitializationException;
-import npanday.vendor.VendorInfoTransitionRule;
-import npanday.vendor.VendorInfo;
-import npanday.vendor.VendorInfoState;
+import npanday.model.settings.DefaultSetup;
+import npanday.vendor.SettingsRepository;
import npanday.vendor.Vendor;
+import npanday.vendor.VendorInfo;
+import npanday.vendor.VendorInfoTransitionRule;
+import npanday.vendor.VendorRequirement;
+import npanday.vendor.VendorRequirementState;
import npanday.vendor.VendorTestFactory;
-import npanday.model.settings.DefaultSetup;
-import org.codehaus.plexus.logging.console.ConsoleLogger;
import org.codehaus.plexus.logging.Logger;
+import org.codehaus.plexus.logging.console.ConsoleLogger;
-import java.util.List;
-import java.util.ArrayList;
import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.List;
public class VendorInfoTransitionRuleFactoryTest
extends TestCase
{
public void testNTF()
+ throws NoSuchFieldException, IllegalAccessException
{
List<VendorInfo> vendorInfoList = new ArrayList<VendorInfo>();
vendorInfoList.add( VendorTestFactory.getVendorInfo( Vendor.MONO, "1.1.18", "1.1.4322" ) );
@@ -46,15 +49,16 @@ public class VendorInfoTransitionRuleFac
VendorTestFactory.getDefaultSetup( "MICROSOFT", "2.0.50727", "2.0.50727" ), vendorInfoList );
VendorInfoTransitionRule rule = factory.createVendorInfoSetterForNTF();
- VendorInfo vendorInfo = VendorTestFactory.getVendorInfo( Vendor.MONO, "1.1.18", null );
- VendorInfoState vendorInfoState = rule.process( vendorInfo );
- assertEquals( "Incorrect Vendor State", vendorInfoState, VendorInfoState.NTT );
+ VendorRequirement vendorInfo = VendorTestFactory.getVendorRequirement( Vendor.MONO, "1.1.18", null );
+ VendorRequirementState vendorRequirementState = rule.process( vendorInfo );
+ assertEquals( "Incorrect Vendor State", vendorRequirementState, VendorRequirementState.NTT );
assertEquals( "Incorrect Vendor", Vendor.MONO, vendorInfo.getVendor() );
assertEquals( "2.0.50727", vendorInfo.getFrameworkVersion() );
assertEquals( "1.1.18", vendorInfo.getVendorVersion() );
}
public void testNFF()
+ throws NoSuchFieldException, IllegalAccessException
{
List<VendorInfo> vendorInfoList = new ArrayList<VendorInfo>();
vendorInfoList.add( VendorTestFactory.getVendorInfo( Vendor.MONO, "1.1.18", "1.1.4322" ) );
@@ -64,15 +68,16 @@ public class VendorInfoTransitionRuleFac
VendorTestFactory.getDefaultSetup( "MICROSOFT", "2.0.50727", "2.0.50727" ), vendorInfoList );
VendorInfoTransitionRule rule = factory.createVendorInfoSetterForNFF();
- VendorInfo vendorInfo = VendorTestFactory.getVendorInfo( Vendor.MONO, null, null );
- VendorInfoState vendorInfoState = rule.process( vendorInfo );
- assertEquals( "Incorrect Vendor State", vendorInfoState, VendorInfoState.POST_PROCESS );
+ VendorRequirement vendorInfo = VendorTestFactory.getVendorRequirement( Vendor.MONO, null, null );
+ VendorRequirementState vendorRequirementState = rule.process( vendorInfo );
+ assertEquals( "Incorrect Vendor State", vendorRequirementState, VendorRequirementState.EXIT );
assertEquals( Vendor.MONO, vendorInfo.getVendor() );
assertEquals( "2.0.50727", vendorInfo.getFrameworkVersion() );
assertEquals( "1.1.18", vendorInfo.getVendorVersion() );
}
public void testNFF_MatchDefaultVendor()
+ throws NoSuchFieldException, IllegalAccessException
{
List<VendorInfo> vendorInfoList = new ArrayList<VendorInfo>();
vendorInfoList.add( VendorTestFactory.getVendorInfo( Vendor.MONO, "1.1.18", "2.0.50727" ) );
@@ -82,15 +87,16 @@ public class VendorInfoTransitionRuleFac
VendorTestFactory.getDefaultSetup( "MONO", "1.1.18", "1.1.4322" ), vendorInfoList );
VendorInfoTransitionRule rule = factory.createVendorInfoSetterForNFF();
- VendorInfo vendorInfo = VendorTestFactory.getVendorInfo( Vendor.MONO, null, null );
- VendorInfoState vendorInfoState = rule.process( vendorInfo );
- assertEquals( "Incorrect Vendor State", vendorInfoState, VendorInfoState.POST_PROCESS );
+ VendorRequirement vendorInfo = VendorTestFactory.getVendorRequirement( Vendor.MONO, null, null );
+ VendorRequirementState vendorRequirementState = rule.process( vendorInfo );
+ assertEquals( "Incorrect Vendor State", vendorRequirementState, VendorRequirementState.EXIT );
assertEquals( Vendor.MONO, vendorInfo.getVendor() );
assertEquals( "1.1.4322", vendorInfo.getFrameworkVersion() );
assertEquals( "1.1.18", vendorInfo.getVendorVersion() );
}
public void testNFT()
+ throws NoSuchFieldException, IllegalAccessException
{
List<VendorInfo> vendorInfoList = new ArrayList<VendorInfo>();
vendorInfoList.add( VendorTestFactory.getVendorInfo( Vendor.MONO, "1.1.13", "2.0.50727" ) );
@@ -100,15 +106,16 @@ public class VendorInfoTransitionRuleFac
VendorTestFactory.getDefaultSetup( "MICROSOFT", "2.0.50727", "2.0.50727" ), vendorInfoList );
VendorInfoTransitionRule rule = factory.createVendorInfoSetterForNFT();
- VendorInfo vendorInfo = VendorTestFactory.getVendorInfo( Vendor.MONO, null, "2.0.50727" );
- VendorInfoState vendorInfoState = rule.process( vendorInfo );
- assertEquals( "Incorrect Vendor State", vendorInfoState, VendorInfoState.NTT );
+ VendorRequirement vendorInfo = VendorTestFactory.getVendorRequirement( Vendor.MONO, null, "2.0.50727" );
+ VendorRequirementState vendorRequirementState = rule.process( vendorInfo );
+ assertEquals( "Incorrect Vendor State", vendorRequirementState, VendorRequirementState.NTT );
assertEquals( Vendor.MONO, vendorInfo.getVendor() );
assertEquals( "2.0.50727", vendorInfo.getFrameworkVersion() );
assertEquals( "1.1.18", vendorInfo.getVendorVersion() );
}
public void testNFT_WithMatchingDefault()
+ throws NoSuchFieldException, IllegalAccessException
{
List<VendorInfo> vendorInfoList = new ArrayList<VendorInfo>();
vendorInfoList.add( VendorTestFactory.getVendorInfo( Vendor.MONO, "1.1.18", "2.0.50727" ) );
@@ -117,45 +124,39 @@ public class VendorInfoTransitionRuleFac
VendorTestFactory.getDefaultSetup( "MONO", "1.1.18", "2.0.50727" ), vendorInfoList );
VendorInfoTransitionRule rule = factory.createVendorInfoSetterForNFT();
- VendorInfo vendorInfo = VendorTestFactory.getVendorInfo( Vendor.MONO, null, "2.0.50727" );
- VendorInfoState vendorInfoState = rule.process( vendorInfo );
- assertEquals( "Incorrect Vendor State", vendorInfoState, VendorInfoState.NTT );
+ VendorRequirement vendorInfo = VendorTestFactory.getVendorRequirement( Vendor.MONO, null, "2.0.50727" );
+ VendorRequirementState vendorRequirementState = rule.process( vendorInfo );
+ assertEquals( "Incorrect Vendor State", vendorRequirementState, VendorRequirementState.NTT );
assertEquals( Vendor.MONO, vendorInfo.getVendor() );
assertEquals( "2.0.50727", vendorInfo.getFrameworkVersion() );
assertEquals( "1.1.18", vendorInfo.getVendorVersion() );
}
public void testNFT_CantFindMatchingVendorInfo()
+ throws NoSuchFieldException, IllegalAccessException
{
VendorInfoTransitionRuleFactory factory = Factory.getVendorInfoTransitionRuleFactory(
VendorTestFactory.getDefaultSetup( "MICROSOFT", "2.0.50727", "2.0.50727" ), new ArrayList<VendorInfo>() );
VendorInfoTransitionRule rule = factory.createVendorInfoSetterForNFT();
- VendorInfo vendorInfo = VendorTestFactory.getVendorInfo( Vendor.MONO, null, "2.0.50727" );
- VendorInfoState vendorInfoState = rule.process( vendorInfo );
- assertEquals( "Incorrect Vendor State", vendorInfoState, VendorInfoState.POST_PROCESS );
+ VendorRequirement vendorInfo = VendorTestFactory.getVendorRequirement( Vendor.MONO, null, "2.0.50727" );
+ VendorRequirementState vendorRequirementState = rule.process( vendorInfo );
+ assertEquals( "Incorrect Vendor State", vendorRequirementState, VendorRequirementState.EXIT );
}
private static class Factory
{
static VendorInfoTransitionRuleFactory getVendorInfoTransitionRuleFactory( DefaultSetup defaultSetup,
List<VendorInfo> vendorInfos )
+ throws NoSuchFieldException, IllegalAccessException
{
- SettingsRepository settingsRepository = new SettingsRepository();
- try
- {
- Field field = settingsRepository.getClass().getDeclaredField( "defaultSetup" );
- field.setAccessible( true );
- field.set( settingsRepository, defaultSetup );
- }
- catch ( NoSuchFieldException e )
- {
- e.printStackTrace();
- }
- catch ( IllegalAccessException e )
- {
- e.printStackTrace();
- }
+ FileBasedSettingsRepository settingsRepository = new FileBasedSettingsRepository();
+ settingsRepository.enableLogging( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ) );
+
+ Field field = settingsRepository.getClass().getDeclaredField( "defaultSetup" );
+ field.setAccessible( true );
+ field.set( settingsRepository, defaultSetup );
+
RepositoryRegistryTestStub repositoryRegistry = new RepositoryRegistryTestStub();
repositoryRegistry.setSettingRepository( settingsRepository );
Modified: incubator/npanday/trunk/components/pom.xml
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/components/pom.xml?rev=1214869&r1=1214868&r2=1214869&view=diff
==============================================================================
--- incubator/npanday/trunk/components/pom.xml (original)
+++ incubator/npanday/trunk/components/pom.xml Thu Dec 15 17:07:06 2011
@@ -18,35 +18,62 @@ KIND, either express or implied. See th
specific language governing permissions and limitations
under the License.
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <parent>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
<groupId>org.apache.npanday</groupId>
- <version>1.5.0-incubating-SNAPSHOT</version>
- <artifactId>npanday-project</artifactId>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>dotnet-components</artifactId>
- <packaging>pom</packaging>
- <name>NPanday :: Java Components</name>
- <modules>
- <module>dotnet-artifact</module>
- <module>dotnet-assembler</module>
- <module>dotnet-core</module>
- <module>dotnet-dao-project</module>
+ <version>1.5.0-incubating-SNAPSHOT</version>
+ <artifactId>npanday-project</artifactId>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>dotnet-components</artifactId>
+ <packaging>pom</packaging>
+ <name>NPanday :: Java Components</name>
+ <modules>
+ <module>dotnet-artifact</module>
+ <module>dotnet-assembler</module>
+ <module>dotnet-core</module>
+ <module>dotnet-dao-project</module>
<module>dotnet-executable</module>
- <module>dotnet-model</module>
- <module>dotnet-plugin</module>
- <module>dotnet-registry</module>
- <module>dotnet-vendor</module>
+ <module>dotnet-model</module>
+ <module>dotnet-plugin</module>
+ <module>dotnet-registry</module>
+ <module>dotnet-vendor</module>
</modules>
-<reporting>
+ <dependencies>
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ <!-- version is defined in parent pom -->
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.gmock</groupId>
+ <artifactId>gmock</artifactId>
+ <version>0.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.groovy</groupId>
+ <artifactId>groovy-all</artifactId>
+ <version>1.7.0</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <reporting>
<excludeDefaults>true</excludeDefaults>
- <plugins>
- <plugin>
+ <plugins>
+ <plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>emma-maven-plugin</artifactId>
<version>1.0-alpha-2</version>
</plugin>
</plugins>
-</reporting>
+ </reporting>
</project>