Skip to content

Commit

Permalink
minor - make code more readable
Browse files Browse the repository at this point in the history
  • Loading branch information
Fitzchak Yitzchak committed Dec 14, 2011
1 parent 0c034f1 commit ae7a1dc
Show file tree
Hide file tree
Showing 4 changed files with 102 additions and 102 deletions.
198 changes: 99 additions & 99 deletions Raven.Studio/Infrastructure/UrlParser.cs
Original file line number Diff line number Diff line change
@@ -1,100 +1,100 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Raven.Studio.Models;

namespace Raven.Studio.Infrastructure
{
public class UrlParser
{
private readonly string url;
private string Url
{
get { return url; }
}

private Dictionary<string, string> queryParams;

public UrlParser(string url)
{
this.url = url;
}

public Dictionary<string, string> QueryParams
{
get
{
if (queryParams == null)
{
queryParams = new Dictionary<string, string>();
var indexOf = Url.IndexOf('?');
if (indexOf == -1)
return queryParams;

var options = Url.Substring(indexOf + 1).Split(new[] { '&' }, StringSplitOptions.RemoveEmptyEntries);
foreach (var option in options)
{
var param = option.Split(new[] { '=' }, StringSplitOptions.RemoveEmptyEntries);
queryParams.Add(param[0], param[1]);
}
}
return queryParams;
}
}

private string path;
public string Path
{
get
{
if (path == null)
{
var indexOf = Url.IndexOf('?');
path = indexOf != -1 ? Url.Substring(0, indexOf) : Url;
}
return path;
}
}

public string GetQueryParam(string name)
{
if (QueryParams.ContainsKey(name))
return QueryParams[name];
return null;
}

public void SetQueryParam(string name, object value)
{
if (value == null) return;
QueryParams[name] = value.ToString();
}

public bool RemoveQueryParam(string name)
{
return QueryParams.Remove(name);
}

public string BuildUrl()
{
EnsureDatabaseParameterIncluded();

var uri = Path;
if (string.IsNullOrWhiteSpace(uri))
uri = "/home";
var query = string.Join("&", QueryParams.Select(x => string.Format("{0}={1}", x.Key, x.Value)));
if (string.IsNullOrEmpty(query) == false)
{
uri += "?" + query;
}
return uri;
}

private void EnsureDatabaseParameterIncluded()
{
if (GetQueryParam("database") != null)
return;

SetQueryParam("database", ApplicationModel.Current.Server.Value.SelectedDatabase.Value.Name);
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using Raven.Studio.Models;

namespace Raven.Studio.Infrastructure
{
public class UrlParser
{
private readonly string url;
private string Url
{
get { return url; }
}

private Dictionary<string, string> queryParams;

public UrlParser(string url)
{
this.url = url;
}

public Dictionary<string, string> QueryParams
{
get
{
if (queryParams == null)
{
queryParams = new Dictionary<string, string>();
var indexOf = Url.IndexOf('?');
if (indexOf == -1)
return queryParams;

var options = Url.Substring(indexOf + 1).Split(new[] { '&' }, StringSplitOptions.RemoveEmptyEntries);
foreach (var option in options)
{
var param = option.Split(new[] { '=' }, StringSplitOptions.RemoveEmptyEntries);
queryParams.Add(param[0], param[1]);
}
}
return queryParams;
}
}

private string path;
public string Path
{
get
{
if (path == null)
{
var indexOf = Url.IndexOf('?');
path = indexOf != -1 ? Url.Substring(0, indexOf) : Url;
}
return path;
}
}

public string GetQueryParam(string name)
{
if (QueryParams.ContainsKey(name))
return QueryParams[name];
return null;
}

public void SetQueryParam(string name, object value)
{
if (value == null) return;
QueryParams[name] = value.ToString();
}

public bool RemoveQueryParam(string name)
{
return QueryParams.Remove(name);
}

public string BuildUrl()
{
EnsureDatabaseParameterIncluded();

var uri = Path;
if (string.IsNullOrWhiteSpace(uri))
uri = "/home";
var query = string.Join("&", QueryParams.Select(x => string.Format("{0}={1}", x.Key, x.Value)));
if (string.IsNullOrEmpty(query) == false)
{
uri += "?" + query;
}
return uri;
}

private void EnsureDatabaseParameterIncluded()
{
if (GetQueryParam("database") != null)
return;

SetQueryParam("database", ApplicationModel.Database.Value.Name);
}
}
}
2 changes: 1 addition & 1 deletion Raven.Studio/Infrastructure/ViewModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ protected virtual Task LoadedTimerTickedAsync()
return null;
}

public Observable<DatabaseModel> Database {get { return ApplicationModel.Current.Server.Value.SelectedDatabase; }}
public Observable<DatabaseModel> Database {get { return ApplicationModel.Database; }}

public IAsyncDatabaseCommands DatabaseCommands
{
Expand Down
2 changes: 1 addition & 1 deletion Raven.Studio/Models/AllDocumentsModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ static AllDocumentsModel()
Documents = new Observable<DocumentsModel>();
Documents.Value = new DocumentsModel();
SetTotalResults();
ApplicationModel.Current.Server.Value.SelectedDatabase.PropertyChanged += (sender, args) => SetTotalResults();
ApplicationModel.Database.PropertyChanged += (sender, args) => SetTotalResults();
}

private static void SetTotalResults()
Expand Down
2 changes: 1 addition & 1 deletion Raven.Studio/Models/DatabasesListModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ public BindableCollection<DatabaseModel> Databases
private DatabaseModel selectedDatabase;
public DatabaseModel SelectedDatabase
{
get { return selectedDatabase ?? (selectedDatabase = ApplicationModel.Current.Server.Value.SelectedDatabase.Value); }
get { return selectedDatabase ?? (selectedDatabase = ApplicationModel.Database.Value); }
set
{
selectedDatabase = value;
Expand Down

0 comments on commit ae7a1dc

Please sign in to comment.