public void AddByAasPackage(PackageCentral packageCentral, AdminShellPackageEnv env, string fn) { // access if (env == null) { return; } // ok, add var fi = PackageContainerFactory.GuessAndCreateFor( packageCentral, location: fn, fullItemLocation: fn, overrideLoadResident: false, containerOptions: PackageContainerOptionsBase.CreateDefault(Options.Curr)); if (fi is PackageContainerRepoItem ri) { fi.Env = env; ri.CalculateIdsTagAndDesc(); ri.VisualState = PackageContainerRepoItem.VisualStateEnum.ReadFrom; ri.VisualTime = 2.0; this.Add(ri); } }
public async Task <List <PackageContainerRepoItem> > GenerateRepositoryFromEndpointAsync() { // access if (!IsValid()) { throw new PackageConnectorException("PackageConnector::GenerateRepositoryFromEndpoint() " + "connection not valid!"); } // results var res = new List <PackageContainerRepoItem>(); // Log Log.Singleton.Info($"Building repository items for aas-list from {this.ToString()} .."); // sync-query for the list var aasItems = new List <ListAasItem>(); try { if (OpenIDClient.auth) { var responseAuth = _client.GetAsync("/authserver").Result; if (responseAuth.IsSuccessStatusCode) { var content = responseAuth.Content.ReadAsStringAsync().Result; if (content != null && content != "") { OpenIDClient.authServer = content; var response2 = await OpenIDClient.RequestTokenAsync(null); OpenIDClient.token = response2.AccessToken; OpenIDClient.auth = false; } } } if (OpenIDClient.token != "") { _client.SetBearerToken(OpenIDClient.token); } // query var listAasResponse = await _client.GetAsync( StartQuery("server", "listaas")); listAasResponse.EnsureSuccessStatusCode(); var listAasString = await listAasResponse.Content.ReadAsStringAsync(); // get some structures dynamic listAas = Newtonsoft.Json.Linq.JObject.Parse(listAasString); foreach (var li in listAas.aaslist) { string line = "" + li; var arr = line.Trim().Split(new[] { " : " }, StringSplitOptions.RemoveEmptyEntries); if (arr.Length == 4) { aasItems.Add(new ListAasItem() { Index = arr[0].Trim(), AasIdShort = arr[1].Trim(), AasId = arr[2].Trim(), Fn = arr[3].Trim() }); } } } catch (Exception ex) { Log.Singleton.Error(ex, $"when parsing /server/listaas/ for {this.ToString()}"); } // go thru the list foreach (var aasi in aasItems) { try { // query var x = await GetAasAssetCore(aasi.Index); if (x.Item1 == null || x.Item2 == null) { Log.Singleton.Error($"when retrieving /aas/{aasi.Index}/, some null contents for AAS or" + $"Asset were found."); } // file item var fi = new PackageContainerRepoItem() { ContainerOptions = PackageContainerOptionsBase.CreateDefault(Options.Curr), Location = CombineQuery(_client.BaseAddress.ToString(), _endPointSegments, "server", "getaasx", aasi.Index), Description = $"\"{"" + x.Item1?.idShort}\",\"{"" + x.Item2?.idShort}\"", Tag = "" + AdminShellUtil.ExtractPascalCasingLetters(x.Item1?.idShort).SubstringMax(0, 3) }; fi.AasIds.Add("" + x.Item1?.identification?.id); fi.AssetIds.Add("" + x.Item2?.identification?.id); res.Add(fi); } catch (Exception ex) { Log.Singleton.Error(ex, $"when parsing index {aasi.Index}"); } } // return results return(res); }