public static async Task <long[]> UploadChange(string changeFile, string description) { var change = FileSerializer.ReadXml <OsmChange>(changeFile); Log.LogInformation("Uploading change to OSM"); var changeTags = GetCommitTags(description); changeTags.RemoveKey("municipality"); var osmApiClient = new BasicAuthClient(Static.HttpClient, Static.LogFactory.CreateLogger <BasicAuthClient>(), Static.Config["OsmApiUrl"], Static.Config["OsmUsername"], Static.Config["OsmPassword"]); var changeParts = change.SplitByCount().ToArray(); var result = new long[changeParts.Length]; int i = 0; foreach (var part in changeParts) { if (changeParts.Length > 1) { changeTags.AddOrReplace("change-part", $"part {i + 1} of {changeParts.Length}"); } result[i] = await UploadChangePart(part, changeTags, osmApiClient, $"{description}/Uploaded/"); i++; } return(result); }
public static async Task <long> CreateNote(double lat, double lon, string message) { var client = new BasicAuthClient(Static.HttpClient, Static.LogFactory.CreateLogger <BasicAuthClient>(), Static.Config["OsmApiUrl"], Static.Config["OsmUsername"], Static.Config["OsmPassword"]); var note = await client.CreateNote((float)lat, (float)lon, message); // remove cast after next osmApiClient version is released return(note.Id.Value); }
private static void BasicAuthParallelGet(string url, int ntimes, string user, string pwd, int fail, int maxdop) { Console.WriteLine($"Running {url} {ntimes} times! Max Failures Allowed: {fail} Max DOP: {maxdop}"); var client = new BasicAuthClient(); var sw = new Stopwatch(); sw.Start(); client.ParallelGet(url, user, pwd, ntimes, fail, maxdop); // Pass logic to implementation sw.Stop(); Console.WriteLine("Total ms run time {0}", sw.ElapsedMilliseconds); }
private static async Task <long> UploadChangePart(this OsmChange part, TagsCollection tags, BasicAuthClient client, string pathForFiles) { var changeSetId = await client.CreateChangeset(tags); Log.LogDebug($"Creating ChangeSet {changeSetId}"); FileSerializer.WriteXml(Path.Combine(pathForFiles, $"{changeSetId}-Conflated.osc"), part); var diffResult = await client.UploadChangeset(changeSetId, part); FileSerializer.WriteXml(Path.Combine(pathForFiles, $"{changeSetId}-DiffResult.diff"), diffResult); await client.CloseChangeset(changeSetId); Log.LogDebug($"Closing ChangeSet {changeSetId}"); return(changeSetId); }
// Get and initialize a basic auth client private OslcClient2 getBasicAuthClient(FriendInfo friend) { BasicAuthClient basicClient = null; String exMessage = ""; try { JazzRootServicesHelper2 helper = new JazzRootServicesHelper2( HandlerSettings.ClientUri, HandlerSettings.RootservicesUri); // Specific code - logging in basicClient = new BasicAuthClient(friend.EncodedCredentials); HttpClient client = basicClient.GetHttpClient(); // Get the Creation Factory for mhweb String user = friend.GetBasicAuthUser(); String serviceProviderUrl = basicClient.LookupServiceProviderUrl( helper.GetCatalogUrl(), "mhweb", HandlerSettings.getRESTHeaders(user)); HandlerSettings.CreationFactoryUri = basicClient.LookupCreationFactory( serviceProviderUrl, Constants.ENTERPRISE_CHANGE_MANAGEMENT_DOMAIN, Constants.TYPE_ENTERPRISE_CHANGE_REQUEST, HandlerSettings.getRESTHeaders(user)); } catch (Exception ex) { basicClient = null; exMessage = ex.Message; } if (basicClient == null || exMessage.Length > 0) { HandlerSettings.LogMessage( String.Format( "Failed to get a httpClient for basic auth." + "\nUsing client uri: {0}" + "\nUsing rootservices uri: {1}" + "\nMessage: {2}", HandlerSettings.ClientUri, HandlerSettings.RootservicesUri, exMessage), HandlerSettings.LoggingLevel.ERROR); } return(basicClient); }
public static async Task <long[]> UploadChange(OsmChange change, TagsCollection changeTags, string pathForFiles) { Log.LogInformation("Uploading change to OSM"); var osmApiClient = new BasicAuthClient(Static.HttpClient, Static.LogFactory.CreateLogger <BasicAuthClient>(), Static.Config["OsmApiUrl"], Static.Config["OsmUsername"], Static.Config["OsmPassword"]); var changeParts = change.SplitByCount().ToArray(); var result = new long[changeParts.Length]; int i = 0; foreach (var part in changeParts) { if (changeParts.Length > 1) { changeTags.AddOrReplace("change-part", $"part {i + 1} of {changeParts.Length}"); } result[i] = await UploadChangePart(part, changeTags, osmApiClient, pathForFiles); i++; } return(result); }