private void ExportEquipmentPsiFile(TransformationConfig config, CIMGraph graph) { var stopWatch = Stopwatch.StartNew(); var cimObjects = GetIdentifiedObjects(config, graph, true, false, true).ToList(); var exportFileName = base.ExportFolderName + "\\konstant_equipment_psi.xml"; Console.WriteLine("Serializing to PSI/Visue CIM Equipment XML: " + exportFileName + " (can take several minutes)..."); var converter = new NetSamEquipmentXMLConverter(cimObjects, new List <IPreProcessor> { new AddMissingBayProcessor(), new DisconnectedLinkProcessor(), new EnsureACLSUniqueNames() }); var result = converter.GetCimObjects().ToList(); var xmlProfile = converter.GetXMLData(result); XmlSerializer xmlSerializer = new XmlSerializer(xmlProfile.GetType()); System.IO.StreamWriter file = new System.IO.StreamWriter(exportFileName); xmlSerializer.Serialize(file, xmlProfile); file.Close(); Console.WriteLine("Finish exporting Equipment CIM XML!"); }
private void ExportAsset(TransformationConfig config, CIMGraph graph) { var allCimObjects = GetIdentifiedObjects(config, graph, false, true, false).ToList(); // Create folder if not exists if (!System.IO.Directory.Exists(base.ExportFolderName)) { System.IO.Directory.CreateDirectory(base.ExportFolderName); } var cson = new CsonSerializer(); using (var destination = File.Open(base.ExportFolderName + "\\konstant_asset.jsonl", FileMode.Create)) { using (var source = cson.SerializeObjects(allCimObjects)) { source.CopyTo(destination); } } }
private void ExportAssetPsiFile(TransformationConfig config, CIMGraph graph) { var stopWatch = Stopwatch.StartNew(); var cimObjects = GetIdentifiedObjects(config, graph, false, true, false).ToList(); var exportFileName = base.ExportFolderName + "\\konstant_asset_psi.xml"; Console.WriteLine("Serializing to PSI/Visue CIM Asset XML: " + exportFileName + " (can take several minutes)..."); var converter = new NetSamAssetXMLConverter(cimObjects); var result = converter.GetCimObjects().ToList(); var xmlProfile = converter.GetXMLData(result); XmlSerializer xmlSerializer = new XmlSerializer(xmlProfile.GetType()); System.IO.StreamWriter file = new System.IO.StreamWriter(exportFileName); xmlSerializer.Serialize(file, xmlProfile); file.Close(); Console.WriteLine("Finish exporting Asset CIM XML!"); }
static void Main(string[] args) { if (args.Length < 6) { System.Console.Out.WriteLine("Usage: Gis2PowerFactoryBatchRunner.exe inputAdapterConfigFileName outputCimArchiveFolder outputCimArchiveName outputLogFile extent highVoltageOnly(true/false)"); return; } try { string cimAdapterConfig = args[0]; string cimArchiveFolder = args[1]; string cimArchiveName = args[2]; Guid cimModeRdfId = Guid.Parse(args[3]); string logFileName = args[4]; string extent = args[5]; bool highVoltageOnly = false; if (args.Length == 7 && args[6].ToLower() == "true") { highVoltageOnly = true; } var cimFileName = cimArchiveName + ".jsonl"; Log.Logger = new LoggerConfiguration() .WriteTo.File(logFileName, rollingInterval: RollingInterval.Day) .WriteTo.Console() .WriteTo.EventLog("NRGi.Gis2PowerFactoryBatchRunner", manageEventSource: true, restrictedToMinimumLevel: Serilog.Events.LogEventLevel.Error) .CreateLogger(); Logger.WriteToConsole = true; var config = new TransformationConfig().LoadFromFile(cimAdapterConfig); // Sæt extent if (extent != null) { config.DataReaders[0].ConfigParameters.Add(new ConfigParameter() { Name = "Extent", Value = extent }); } var transformer = config.InitializeDataTransformer("test"); // Log ikke til database tabel, da vi køre på prod ((CIMGraphWriter)transformer.GetFirstDataWriter()).DoNotLogToTable(); ((CIMGraphWriter)transformer.GetFirstDataWriter()).DoNotRunPreCheckConnectivity(); transformer.TransferData(); CIMGraphWriter writer = transformer.GetFirstDataWriter() as CIMGraphWriter; CIMGraph graph = writer.GetCIMGraph(); // Serialize var serializer = config.InitializeSerializer("DAX") as IDAXSerializeable; var cimObjects = ((DAXCIMSerializer)serializer).GetIdentifiedObjects(CIMMetaDataManager.Repository, graph.CIMObjects, true, true, true).ToList(); var pfWriter = new KonstantCimArchiveWriter(cimObjects, cimArchiveFolder, cimArchiveName, cimModeRdfId, highVoltageOnly); Logger.Log(LogLevel.Info, "Export to Power Factory CIM Archive: " + cimArchiveFolder + "\\" + cimArchiveName + ".zip finished."); } catch (Exception ex) { Logger.Log(ex); } }
static IEnumerable <IdentifiedObject> GetIdentifiedObjects(TransformationConfig config, CIMGraph graph, bool includeEquipment = false, bool includeAssets = false, bool includeLocations = false) { var serializer = config.InitializeSerializer("DAX") as IDAXSerializeable; var daxcimSerializer = (DAXCIMSerializer)serializer; var dataRepository = CIMMetaDataManager.Repository; var objects = graph.CIMObjects; return(daxcimSerializer.GetIdentifiedObjects(dataRepository, objects, includeEquipment, includeAssets, includeLocations)); }