Browse Source

Some fixes and code clean up in PackageRepositories service.

pull/32/head
Andreas Weizel 13 years ago
parent
commit
007c4f85c1
  1. 11
      src/AddIns/Misc/AddInManager2/Project/Src/Model/Interfaces/IPackageRepositories.cs
  2. 60
      src/AddIns/Misc/AddInManager2/Project/Src/Model/PackageRepositories.cs

11
src/AddIns/Misc/AddInManager2/Project/Src/Model/Interfaces/IPackageRepositories.cs

@ -14,17 +14,6 @@ namespace ICSharpCode.AddInManager2.Model
get; get;
} }
// IPackageRepository Active
// {
// get;
// }
//
// PackageSource ActiveSource
// {
// get;
// set;
// }
IEnumerable<PackageSource> RegisteredPackageSources IEnumerable<PackageSource> RegisteredPackageSources
{ {
get; get;

60
src/AddIns/Misc/AddInManager2/Project/Src/Model/PackageRepositories.cs

@ -18,8 +18,6 @@ namespace ICSharpCode.AddInManager2.Model
public class PackageRepositories : IPackageRepositories public class PackageRepositories : IPackageRepositories
{ {
private IPackageRepository _currentRepository; private IPackageRepository _currentRepository;
private IPackageRepository _activeRepository;
private PackageSource _activeSource;
private List<PackageSource> _registeredPackageSources; private List<PackageSource> _registeredPackageSources;
private IAddInManagerEvents _events; private IAddInManagerEvents _events;
@ -34,7 +32,6 @@ namespace ICSharpCode.AddInManager2.Model
LoadPackageSources(); LoadPackageSources();
UpdateCurrentRepository(); UpdateCurrentRepository();
UpdateActiveRepository();
} }
public IPackageRepository Registered public IPackageRepository Registered
@ -45,27 +42,6 @@ namespace ICSharpCode.AddInManager2.Model
} }
} }
public IPackageRepository Active
{
get
{
return _activeRepository;
}
}
public PackageSource ActiveSource
{
get
{
return _activeSource;
}
set
{
_activeSource = value;
UpdateActiveRepository();
}
}
public IEnumerable<PackageSource> RegisteredPackageSources public IEnumerable<PackageSource> RegisteredPackageSources
{ {
get get
@ -75,7 +51,10 @@ namespace ICSharpCode.AddInManager2.Model
set set
{ {
_registeredPackageSources.Clear(); _registeredPackageSources.Clear();
if (value != null)
{
_registeredPackageSources.AddRange(value); _registeredPackageSources.AddRange(value);
}
SavePackageSources(); SavePackageSources();
// Send around the update // Send around the update
@ -109,11 +88,21 @@ namespace ICSharpCode.AddInManager2.Model
{ {
string[] splittedEntry = repositoryEntry.Split(new char[] { '=' }, 2); string[] splittedEntry = repositoryEntry.Split(new char[] { '=' }, 2);
if ((splittedEntry != null) && (splittedEntry.Length == 2)) if ((splittedEntry != null) && (splittedEntry.Length == 2))
{
if (!String.IsNullOrEmpty(splittedEntry[0]) && !String.IsNullOrEmpty(splittedEntry[1]))
{ {
// Create PackageSource from this entry // Create PackageSource from this entry
try
{
PackageSource savedPackageSource = new PackageSource(splittedEntry[1], splittedEntry[0]); PackageSource savedPackageSource = new PackageSource(splittedEntry[1], splittedEntry[0]);
_registeredPackageSources.Add(savedPackageSource); _registeredPackageSources.Add(savedPackageSource);
} }
catch (Exception)
{
SD.Log.WarnFormatted("URL '{0}' can't be used as valid package source.", splittedEntry[1]);
}
}
}
} }
} }
else else
@ -144,29 +133,6 @@ namespace ICSharpCode.AddInManager2.Model
{ {
_currentRepository = new AggregateRepository(repositories); _currentRepository = new AggregateRepository(repositories);
} }
else
{
// We have no repositories in configuration -> then we can't have an active source
ActiveSource = null;
}
}
private void UpdateActiveRepository()
{
if ((_activeSource == null) && (_registeredPackageSources != null) && _registeredPackageSources.Any())
{
_activeSource = _registeredPackageSources[0];
}
if (_activeSource != null)
{
_activeRepository = PackageRepositoryFactory.Default.CreateRepository(_activeSource.Source);
}
else
{
// If no active repository is set, get packages from all repositories
_activeRepository = _currentRepository;
}
} }
} }
} }

Loading…
Cancel
Save