public void Standalone() { var json = @" { ""compute"": { ""location"": ""eastus"", ""name"": ""n111"", ""resourceGroupName"": ""RG1"", ""subscriptionId"": ""FE9CE53F-277C-48BB-950D-265EBA922B9D"", ""zone"": """" }, ""network"": {} } "; var im = InstanceMetadata.Parse(json); Assert.Equal("eastus", im.Compute.Location); Assert.Equal("n111", im.Compute.Name); Assert.Equal("RG1", im.Compute.ResourceGroupName); Assert.Equal("FE9CE53F-277C-48BB-950D-265EBA922B9D", im.Compute.SubscriptionId); Assert.Equal( "/subscriptions/fe9ce53f-277c-48bb-950d-265eba922b9d/resourcegroups/rg1" + "/providers/Microsoft.Compute/virtualMachines/n111", im.GetResourceId().Id); }
private void DeleteMediaLocations(InstanceMetadata objectMetaRaw) { if (null != objectMetaRaw) { var mediaLocations = objectMetaRaw.MediaLocations; foreach (var dicomMediaLocation in mediaLocations) { foreach (var locationParts in dicomMediaLocation.Locations) { IStorageLocation location; IMediaId mediaId; mediaId = MediaFactory.Create(locationParts.Parts); location = StorageService.GetLocation(mediaId); if (location.Exists( )) { location.Delete( ); } } } } }
private static IEnumerable <DicomMediaLocations> GetDistinctMedia(InstanceMetadata objectMetaRaw) { //http://stackoverflow.com/questions/489258/linqs-distinct-on-a-particular-property return(objectMetaRaw.MediaLocations .GroupBy(n => new { n.TransferSyntax, n.MediaType }) .Select(m => m.First( ))); }
public DCloudCommandResult StoreDicom ( fo.DicomDataset dataset, InstanceMetadata metadata ) { IStoreCommand storeCommand = CommandFactory.CreateStoreCommand( ); StoreCommandData storeData = new StoreCommandData( ) { Dataset = dataset, Metadata = metadata }; return(storeCommand.Execute(storeData)); }
public virtual IDbCommand CreateInsertCommand ( IEnumerable <IDicomDataParameter> conditions, InstanceMetadata data = null ) { IDbCommand insertCommand = CreateCommand( ); BuildInsert(conditions, data, insertCommand); SetConnectionIfNull(insertCommand); return(insertCommand); }
protected virtual void BuildInsert ( IEnumerable <IDicomDataParameter> conditions, InstanceMetadata data, IDbCommand insertCommand ) { if (null == conditions) { throw new ArgumentNullException( ); } var stroageBuilder = CreateStorageBuilder( ); FillParameters(conditions, data, insertCommand, stroageBuilder); insertCommand.CommandText = stroageBuilder.GetInsertText( ); }
protected virtual void FillParameters ( IEnumerable <IDicomDataParameter> dicomParameters, InstanceMetadata data, IDbCommand insertCommad, ObjectArchieveStorageBuilder stroageBuilder ) { foreach (var dicomParam in dicomParameters) { if (dicomParam.VR == fo.DicomVR.PN) { List <PersonNameData> pnValues; pnValues = dicomParam.GetPNValues( ); foreach (var values in pnValues) { string[] stringValues = values.ToArray( ); int index = -1; List <string> pnConditions = new List <string> ( ); foreach (var column in SchemaProvider.GetColumnInfo(dicomParam.KeyTag)) { column.Values = new string [] { stringValues[++index] }; stroageBuilder.ProcessColumn(column, insertCommad, CreateParameter); } } continue; } foreach (var column in SchemaProvider.GetColumnInfo(dicomParam.KeyTag)) { column.Values = GetValues(dicomParam); stroageBuilder.ProcessColumn(column, insertCommad, CreateParameter); } } }
public McLauncher(PackMetadata packMetadata, InstanceMetadata instanceMetadata, bool isVrEnabled = false) { this.packMetadata = packMetadata; this.instanceMetadata = instanceMetadata; this.isVrEnabled = isVrEnabled; }
public StoreCommandData( ) { Metadata = new InstanceMetadata( ); }
public DicomStoreSuccessMessage(InstanceMetadata instanceMetadata) { InstanceMetadata = instanceMetadata; }
public IDataAdapterCommand <int> CreateUpdateMetadataCommand(IObjectId objectId, InstanceMetadata data) { IDbCommand insertCommand = CreateCommand( ); var instance = objectId; insertCommand = CreateCommand( ); insertCommand.CommandText = string.Format(@" UPDATE {0} SET {2}=@{2}, {3}=@{3} WHERE {1}=@{1} IF @@ROWCOUNT = 0 INSERT INTO {0} ({2}, {3}) VALUES (@{2}, @{3}) ", StorageDbSchemaProvider.MetadataTable.TableName, StorageDbSchemaProvider.MetadataTable.SopInstanceColumn, StorageDbSchemaProvider.MetadataTable.MetadataColumn, StorageDbSchemaProvider.MetadataTable.OwnerColumn); var sopParam = CreateParameter("@" + StorageDbSchemaProvider.MetadataTable.SopInstanceColumn, instance.SOPInstanceUID); var metaParam = CreateParameter("@" + StorageDbSchemaProvider.MetadataTable.MetadataColumn, data.ToJson( )); var ownerParam = CreateParameter("@" + StorageDbSchemaProvider.MetadataTable.OwnerColumn, data.Owner); insertCommand.Parameters.Add(sopParam); insertCommand.Parameters.Add(metaParam); insertCommand.Parameters.Add(ownerParam); SetConnectionIfNull(insertCommand); return(new ExecuteNonQueryCommand(insertCommand)); }
private async Task CheckCurrentInstanceAsync() { try { var instanceMetadata = InstanceMetadataReader.ReadInstanceMetadata(PackBuilder.ProfilePath); var useCanaryVersion = this.chkUseCanaryVersion.Checked; var currentRemoteVersion = useCanaryVersion ? this.packMetadata.CanaryVersion ?? this.packMetadata.CurrentVersion : this.packMetadata.CurrentVersion; // Beeg long list of checks to see if this pack needs to be completely converted or not if (instanceMetadata == null || instanceMetadata.Version == "0.0.0" || !SemVersion.TryParse(instanceMetadata.Version, out var instanceSemVersion) || !SemVersion.TryParse(currentRemoteVersion, out var serverSemVersion) || instanceMetadata.CurrentLaunchVersion == null || instanceMetadata.CurrentMinecraftVersion != this.packMetadata.IntendedMinecraftVersion || instanceMetadata.CurrentForgeVersion != this.packMetadata.RequiredForgeVersion || instanceMetadata.BuiltFromServerPack != this.packMetadata.ServerPack) { // Never converted this.currentPackState = PackMode.NeedsInstallation; } else { var outOfDate = instanceSemVersion < serverSemVersion; // Check server pack MD5 if necessary if (this.packMetadata.VerifyServerPackMd5) { using var web = new WebClient(); var basePackMd5Url = $"{this.packMetadata.ServerPack}.md5"; var basePackMd5 = await web.DownloadStringTaskAsync(basePackMd5Url); outOfDate |= basePackMd5 != instanceMetadata.BuiltFromServerPackMd5; } if (outOfDate) { // Out of date this.currentPackState = PackMode.NeedsUpdate; } else { // Up-to-date this.currentPackState = PackMode.ReadyToPlay; UpdateVrUi(); } } this.instanceMetadata = instanceMetadata; UpdateLayoutFromState(); } catch (Exception ex) { MessageBox.Show( this, $"An error occurred while checking if the instance was up-to-date:\n\n{ex}", "Unexpected Error", MessageBoxButtons.OK, MessageBoxIcon.Error ); } }