private ResourceDescription CreateDCLineSegmentResourceDescription(DCLineSegment cimDCLineSegment)
        {
            ResourceDescription rd = null;

            if (cimDCLineSegment != null)
            {
                long gid = ModelCodeHelper.CreateGlobalId(0, (short)DMSType.DCLINESEG, importHelper.CheckOutIndexForDMSType(DMSType.DCLINESEG));
                rd = new ResourceDescription(gid);

                importHelper.DefineIDMapping(cimDCLineSegment.ID, gid);

                IES21Converter.PopulateDCLineSegmentProperties(cimDCLineSegment, rd);
            }
            return(rd);
        }
Example #2
0
        public IdentifiedObject GetEntity(long globalId)
        {
            if (EntityExists(globalId))
            {
                DMSType          type = (DMSType)ModelCodeHelper.ExtractTypeFromGlobalId(globalId);
                IdentifiedObject io   = GetContainer(type).GetEntity(globalId);

                return(io);
            }
            else
            {
                string message = string.Format("Entity  (GID = 0x{0:x16}) does not exist.", globalId);
                throw new Exception(message);
            }
        }
Example #3
0
        private ResourceDescription CreatecimSwitchingOperationResourceDescription(FTN.SwitchingOperation cimSwitchingOperation)
        {
            ResourceDescription rd = null;

            if (cimSwitchingOperation != null)
            {
                long gid = ModelCodeHelper.CreateGlobalId(0, (short)DMSType.SWITCHINGOPERATION, importHelper.CheckOutIndexForDMSType(DMSType.SWITCHINGOPERATION));
                rd = new ResourceDescription(gid);
                importHelper.DefineIDMapping(cimSwitchingOperation.ID, gid);

                ////populate ResourceDescription
                PowerTransformerConverter.PopulateSwitchingOperationProperties(cimSwitchingOperation, rd, importHelper, report);
            }
            return(rd);
        }
Example #4
0
        private bool IsIsolationPointType(long gid)
        {
            DMSType type = (DMSType)ModelCodeHelper.ExtractTypeFromGlobalId(gid);

            switch (type)
            {
            case DMSType.BREAKER:
            case DMSType.DISCONNECTOR:
            case DMSType.LOADBREAKSWITCH:
                return(true);

            default:
                return(false);
            }
        }
        private ResourceDescription CreateTransformerWindingResourceDescription(FTN.TransformerWinding cimTransformerWinding)
        {
            ResourceDescription rd = null;

            if (cimTransformerWinding != null)
            {
                long gid = ModelCodeHelper.CreateGlobalId(0, (short)DMSType.POWERTRWINDING, importHelper.CheckOutIndexForDMSType(DMSType.POWERTRWINDING));
                rd = new ResourceDescription(gid);
                importHelper.DefineIDMapping(cimTransformerWinding.ID, gid);

                ////populate ResourceDescription
                PowerTransformerConverter.PopulateTransformerWindingProperties(cimTransformerWinding, rd, importHelper, report);
            }
            return(rd);
        }
        private ResourceDescription CreateTerminalResourceDescription(FTN.Terminal cimTerminal)
        {
            ResourceDescription rd = null;

            if (cimTerminal != null)
            {
                long gid = ModelCodeHelper.CreateGlobalId(0, (short)DMSType.TERMINAL, importHelper.CheckOutIndexForDMSType(DMSType.TERMINAL));
                rd = new ResourceDescription(gid);
                importHelper.DefineIDMapping(cimTerminal.ID, gid);

                ////populate ResourceDescription
                PowerTransformerConverter.PopulateTerminalProperties(cimTerminal, rd, importHelper, report);
            }
            return(rd);
        }
        private ResourceDescription CreateACLineSegmentResourceDescription(FTN.ACLineSegment cimACLineSegment)
        {
            ResourceDescription rd = null;

            if (cimACLineSegment != null)
            {
                long gid = ModelCodeHelper.CreateGlobalId(0, (short)DMSType.ACLSEGMENT, importHelper.CheckOutIndexForDMSType(DMSType.ACLSEGMENT));
                rd = new ResourceDescription(gid);
                importHelper.DefineIDMapping(cimACLineSegment.ID, gid);

                ////populate ResourceDescription
                PowerTransformerConverter.PopulateACLineSegmentProperties(cimACLineSegment, rd, importHelper, report);
            }
            return(rd);
        }
Example #8
0
        private ResourceDescription CreateBreakerResourceDescription(Outage.Breaker cimBreaker)
        {
            ResourceDescription rd = null;

            if (cimBreaker != null)
            {
                long gid = ModelCodeHelper.CreateGlobalId(0, (short)DMSType.BREAKER, importHelper.CheckOutIndexForDMSType(DMSType.BREAKER));
                rd = new ResourceDescription(gid);
                importHelper.DefineIDMapping(cimBreaker.ID, gid);

                OutageConverter.PopulateBreakerProperties(cimBreaker, rd, importHelper, report);
            }

            return(rd);
        }
Example #9
0
        private ResourceDescription CreateLoadBreakSwitchResourceDescription(Outage.LoadBreakSwitch cimLoadBreakSwitch)
        {
            ResourceDescription rd = null;

            if (cimLoadBreakSwitch != null)
            {
                long gid = ModelCodeHelper.CreateGlobalId(0, (short)DMSType.LOADBREAKSWITCH, importHelper.CheckOutIndexForDMSType(DMSType.LOADBREAKSWITCH));
                rd = new ResourceDescription(gid);
                importHelper.DefineIDMapping(cimLoadBreakSwitch.ID, gid);

                OutageConverter.PopulateLoadBreakSwitchProperties(cimLoadBreakSwitch, rd, importHelper, report);
            }

            return(rd);
        }
Example #10
0
        private ResourceDescription CreatePowerTransformerResourceDescription(Outage.PowerTransformer cimPowerTransformer)
        {
            ResourceDescription rd = null;

            if (cimPowerTransformer != null)
            {
                long gid = ModelCodeHelper.CreateGlobalId(0, (short)DMSType.POWERTRANSFORMER, importHelper.CheckOutIndexForDMSType(DMSType.POWERTRANSFORMER));
                rd = new ResourceDescription(gid);
                importHelper.DefineIDMapping(cimPowerTransformer.ID, gid);

                OutageConverter.PopulatePowerTransformerProperties(cimPowerTransformer, rd);
            }

            return(rd);
        }
Example #11
0
        private ResourceDescription CreateEnergySourceResourceDescription(Outage.EnergySource cimEnergySource)
        {
            ResourceDescription rd = null;

            if (cimEnergySource != null)
            {
                long gid = ModelCodeHelper.CreateGlobalId(0, (short)DMSType.ENERGYSOURCE, importHelper.CheckOutIndexForDMSType(DMSType.ENERGYSOURCE));
                rd = new ResourceDescription(gid);
                importHelper.DefineIDMapping(cimEnergySource.ID, gid);

                OutageConverter.PopulateEnergySourceProperties(cimEnergySource, rd, importHelper, report);
            }

            return(rd);
        }
        private ResourceDescription CreatePhaseImpedanceDataResourceDescription(FTN.PhaseImpedanceData cimPhaseImpedanceData)
        {
            ResourceDescription rd = null;

            if (cimPhaseImpedanceData != null)
            {
                long gid = ModelCodeHelper.CreateGlobalId(0, (short)DMSType.PHASEIMPENDANCEDATA, importHelper.CheckOutIndexForDMSType(DMSType.PHASEIMPENDANCEDATA));
                rd = new ResourceDescription(gid);
                importHelper.DefineIDMapping(cimPhaseImpedanceData.ID, gid);

                ////populate ResourceDescription
                PowerTransformerConverter.PopulatePhaseImpedanceDataProperties(cimPhaseImpedanceData, rd, importHelper, report);
            }
            return(rd);
        }
        private ResourceDescription CreatePowerTransformerEndResourceDecription(PowerTransformerEnd cimPowerTransformerEnd)
        {
            ResourceDescription rd = null;

            if (cimPowerTransformerEnd != null)
            {
                long gid = ModelCodeHelper.CreateGlobalId(0, (short)DMSType.PTRANSFORMEREND, importHelper.CheckOutIndexForDMSType(DMSType.PTRANSFORMEREND));
                rd = new ResourceDescription(gid);
                importHelper.DefineIDMapping(cimPowerTransformerEnd.ID, gid);

                ////populate ResourceDescription
                LoadFlowConverter.PopulatePowerTransformerEndProperties(cimPowerTransformerEnd, rd, importHelper, report);
            }
            return(rd);
        }
        private ResourceDescription CreateEnergyConsumerResourceDecription(EnergyConsumer cimEnergyConsumer)
        {
            ResourceDescription rd = null;

            if (cimEnergyConsumer != null)
            {
                long gid = ModelCodeHelper.CreateGlobalId(0, (short)DMSType.ENERGYCONSUMER, importHelper.CheckOutIndexForDMSType(DMSType.ENERGYCONSUMER));
                rd = new ResourceDescription(gid);
                importHelper.DefineIDMapping(cimEnergyConsumer.ID, gid);

                ////populate ResourceDescription
                LoadFlowConverter.PopulateEnergyConsumerProperties(cimEnergyConsumer, rd, importHelper, report);
            }
            return(rd);
        }
        private ResourceDescription CreateControlResourceDescription(FTN.Control cimControl)
        {
            ResourceDescription rd = null;

            if (cimControl != null)
            {
                long gid = ModelCodeHelper.CreateGlobalId(0, (short)DMSType.CONTROL, importHelper.CheckOutIndexForDMSType(DMSType.CONTROL));
                rd = new ResourceDescription(gid);
                importHelper.DefineIDMapping(cimControl.ID, gid);

                ////populate ResourceDescription
                Converter.PopulateControlProperties(cimControl, rd, importHelper, report);
            }
            return(rd);
        }
Example #16
0
        private ResourceDescription CreateDiscreteResourceDescription(Outage.Discrete cimDiscrete)
        {
            ResourceDescription rd = null;

            if (cimDiscrete != null)
            {
                long gid = ModelCodeHelper.CreateGlobalId(0, (short)DMSType.DISCRETE, importHelper.CheckOutIndexForDMSType(DMSType.DISCRETE));
                rd = new ResourceDescription(gid);
                importHelper.DefineIDMapping(cimDiscrete.ID, gid);

                OutageConverter.PopulateDiscreteProperties(cimDiscrete, rd, importHelper, report);
            }

            return(rd);
        }
        private ResourceDescription CreateConnectivityNodeResourceDescription(FTN.ConnectivityNode cimConnectivityNode)
        {
            ResourceDescription rd = null;

            if (cimConnectivityNode != null)
            {
                long gid = ModelCodeHelper.CreateGlobalId(0, (short)DMSType.CONNODE, importHelper.CheckOutIndexForDMSType(DMSType.CONNODE));
                rd = new ResourceDescription(gid);
                importHelper.DefineIDMapping(cimConnectivityNode.ID, gid);

                ////populate ResourceDescription
                PowerTransformerConverter.PopulateConnectivityNodeProperties(cimConnectivityNode, rd);
            }
            return(rd);
        }
Example #18
0
        private ResourceDescription CreateAnalogResourceDescription(Outage.Analog cimAnalog)
        {
            ResourceDescription rd = null;

            if (cimAnalog != null)
            {
                long gid = ModelCodeHelper.CreateGlobalId(0, (short)DMSType.ANALOG, importHelper.CheckOutIndexForDMSType(DMSType.ANALOG));
                rd = new ResourceDescription(gid);
                importHelper.DefineIDMapping(cimAnalog.ID, gid);

                OutageConverter.PopulateAnalogProperties(cimAnalog, rd, importHelper, report);
            }

            return(rd);
        }
        private ResourceDescription CreateSeriesCompensatorResourceDescription(FTN.SeriesCompensator cimSeriesCompensator)
        {
            ResourceDescription rd = null;

            if (cimSeriesCompensator != null)
            {
                long gid = ModelCodeHelper.CreateGlobalId(0, (short)DMSType.SERIESCOMP, importHelper.CheckOutIndexForDMSType(DMSType.SERIESCOMP));
                rd = new ResourceDescription(gid);
                importHelper.DefineIDMapping(cimSeriesCompensator.ID, gid);

                ////populate ResourceDescription
                PowerTransformerConverter.PopulateSeriesCompensatorProperties(cimSeriesCompensator, rd);
            }
            return(rd);
        }
        private ResourceDescription CreateReactiveCapabilityCurveResourceDescription(FTN.ReactiveCapabilityCurve cimReactiveCapabilityCurve)
        {
            ResourceDescription rd = null;

            if (cimReactiveCapabilityCurve != null)
            {
                long gid = ModelCodeHelper.CreateGlobalId(0, (short)DMSType.REACTIVECAPABILITYCURVE, importHelper.CheckOutIndexForDMSType(DMSType.REACTIVECAPABILITYCURVE));
                rd = new ResourceDescription(gid);
                importHelper.DefineIDMapping(cimReactiveCapabilityCurve.ID, gid);

                ////populate ResourceDescription
                Converter.PopulateReactiveCapabilityCurveProperties(cimReactiveCapabilityCurve, rd);
            }
            return(rd);
        }
        private ResourceDescription CreatePerLengthSequenceImpedanceResourceDescription(FTN.PerLengthSequenceImpedance cimPerLengthSequenceImpedance)
        {
            ResourceDescription rd = null;

            if (cimPerLengthSequenceImpedance != null)
            {
                long gid = ModelCodeHelper.CreateGlobalId(0, (short)DMSType.PLSIMPEDANCE, importHelper.CheckOutIndexForDMSType(DMSType.PLSIMPEDANCE));
                rd = new ResourceDescription(gid);
                importHelper.DefineIDMapping(cimPerLengthSequenceImpedance.ID, gid);

                ////populate ResourceDescription
                PowerTransformerConverter.PopulatecimPerLengthSequenceImpedanceProperties(cimPerLengthSequenceImpedance, rd);
            }
            return(rd);
        }
        private ResourceDescription CreateCurveDataResourceDescription(FTN.CurveData cimCurveData)
        {
            ResourceDescription rd = null;

            if (cimCurveData != null)
            {
                long gid = ModelCodeHelper.CreateGlobalId(0, (short)DMSType.CURVEDATA, importHelper.CheckOutIndexForDMSType(DMSType.CURVEDATA));
                rd = new ResourceDescription(gid);
                importHelper.DefineIDMapping(cimCurveData.ID, gid);

                ////populate ResourceDescription
                Converter.PopulateCurveDataProperties(cimCurveData, rd, importHelper, report);
            }
            return(rd);
        }
        private ResourceDescription CreateBaseVoltageResourceDescription(FTN.BaseVoltage cimBaseVoltage)
        {
            ResourceDescription rd = null;

            if (cimBaseVoltage != null)
            {
                long gid = ModelCodeHelper.CreateGlobalId(0, (short)DMSType.BASEVOLTAGE, importHelper.CheckOutIndexForDMSType(DMSType.BASEVOLTAGE));
                rd = new ResourceDescription(gid);
                importHelper.DefineIDMapping(cimBaseVoltage.ID, gid);

                ////populate ResourceDescription
                PowerTransformerConverter.PopulateBaseVoltageProperties(cimBaseVoltage, rd);
            }
            return(rd);
        }
        private ResourceDescription CreateSynchronousMachineResourceDescription(FTN.SynchronousMachine cimSynchronousMachine)
        {
            ResourceDescription rd = null;

            if (cimSynchronousMachine != null)
            {
                long gid = ModelCodeHelper.CreateGlobalId(0, (short)DMSType.SYNCHRONOUSMACHINE, importHelper.CheckOutIndexForDMSType(DMSType.SYNCHRONOUSMACHINE));
                rd = new ResourceDescription(gid);
                importHelper.DefineIDMapping(cimSynchronousMachine.ID, gid);

                ////populate ResourceDescription
                Converter.PopulateSynchronousMachineProperties(cimSynchronousMachine, rd, importHelper, report);
            }
            return(rd);
        }
        private ResourceDescription CreateWindingTestResourceDescription(FTN.WindingTest cimWindingTest)
        {
            ResourceDescription rd = null;

            if (cimWindingTest != null)
            {
                long gid = ModelCodeHelper.CreateGlobalId(0, (short)DMSType.WINDINGTEST, importHelper.CheckOutIndexForDMSType(DMSType.WINDINGTEST));
                rd = new ResourceDescription(gid);
                importHelper.DefineIDMapping(cimWindingTest.ID, gid);

                ////populate ResourceDescription
                PowerTransformerConverter.PopulateWindingTestProperties(cimWindingTest, rd, importHelper, report);
            }
            return(rd);
        }
        private ResourceDescription CreateFrequencyConverterResourceDescription(FTN.FrequencyConverter cimFrequencyConverter)
        {
            ResourceDescription rd = null;

            if (cimFrequencyConverter != null)
            {
                long gid = ModelCodeHelper.CreateGlobalId(0, (short)DMSType.FREQUENCYCONVERTER, importHelper.CheckOutIndexForDMSType(DMSType.FREQUENCYCONVERTER));
                rd = new ResourceDescription(gid);
                importHelper.DefineIDMapping(cimFrequencyConverter.ID, gid);

                ////populate ResourceDescription
                Converter.PopulateFrequencyConverterProperties(cimFrequencyConverter, rd, importHelper, report);
            }
            return(rd);
        }
Example #27
0
        private ResourceDescription CreateGroundDisconnectorResourceDescription(FTN.GroundDisconnector cimGroundDisconnector)
        {
            ResourceDescription rd = null;

            if (cimGroundDisconnector != null)
            {
                long gid = ModelCodeHelper.CreateGlobalId(0, (short)DMSType.GROUNDDDISCONNECTOR, importHelper.CheckOutIndexForDMSType(DMSType.GROUNDDDISCONNECTOR));
                rd = new ResourceDescription(gid);
                importHelper.DefineIDMapping(cimGroundDisconnector.ID, gid);

                ////populate ResourceDescription
                PowerTransformerConverter.PopulateGroundDisconnectorProperties(cimGroundDisconnector, rd, importHelper, report);
            }
            return(rd);
        }
        private ResourceDescription CreateStaticVarCompensatorResourceDescription(FTN.StaticVarCompensator cimStaticVarCompensator)
        {
            ResourceDescription rd = null;

            if (cimStaticVarCompensator != null)
            {
                long gid = ModelCodeHelper.CreateGlobalId(0, (short)DMSType.STATICVARCOMPENSATOR, importHelper.CheckOutIndexForDMSType(DMSType.STATICVARCOMPENSATOR));
                rd = new ResourceDescription(gid);
                importHelper.DefineIDMapping(cimStaticVarCompensator.ID, gid);

                ////populate ResourceDescription
                Converter.PopulateStaticVarCompensatorProperties(cimStaticVarCompensator, rd, importHelper, report);
            }
            return(rd);
        }
        private ResourceDescription CreateConnectivityNodeContainerResourceDescription(ConnectivityNodeContainer cimConnectivityNodeContainer)
        {
            ResourceDescription rd = null;

            if (cimConnectivityNodeContainer != null)
            {
                long gid = ModelCodeHelper.CreateGlobalId(0, (short)DMSType.CONNECTNODECONTAINER, importHelper.CheckOutIndexForDMSType(DMSType.CONNECTNODECONTAINER));
                rd = new ResourceDescription(gid);

                importHelper.DefineIDMapping(cimConnectivityNodeContainer.ID, gid);

                IES21Converter.PopulateConnectivityNodeContainerProperties(cimConnectivityNodeContainer, rd);
            }
            return(rd);
        }
Example #30
0
        /// <summary>
        /// Obavestavanje subscriber-a za Prepare i kreiranje delte za svakog subscriber-a
        /// </summary>
        /// <returns></returns>
        private bool NotifySubscribersPrepare()
        {
            List <Task <bool> > tasks = new List <Task <bool> >();

            foreach (ITwoPhaseCommit client in subscribers.Keys)
            {
                Delta temp = new Delta();

                foreach (ResourceDescription rd in delta.InsertOperations)
                {
                    if (!subscribers[client].Contains((DMSType)ModelCodeHelper.ExtractTypeFromGlobalId(rd.Id)))
                    {
                        continue;
                    }
                    temp.InsertOperations.Add(rd);
                }

                foreach (ResourceDescription rd in delta.UpdateOperations)
                {
                    if (!subscribers[client].Contains((DMSType)ModelCodeHelper.ExtractTypeFromGlobalId(rd.Id)))
                    {
                        continue;
                    }
                    temp.UpdateOperations.Add(rd);
                }

                foreach (ResourceDescription rd in delta.DeleteOperations)
                {
                    if (!subscribers[client].Contains((DMSType)ModelCodeHelper.ExtractTypeFromGlobalId(rd.Id)))
                    {
                        continue;
                    }
                    temp.DeleteOperations.Add(rd);
                }


                bool retVal = client.Prepare(temp);

                if (retVal)
                {
                    continue;
                }

                return(false);
            }

            return(true);
        }