Example usage for org.joda.time DateTime parse

List of usage examples for org.joda.time DateTime parse

Introduction

In this page you can find the example usage for org.joda.time DateTime parse.

Prototype

@FromString
public static DateTime parse(String str) 

Source Link

Document

Parses a DateTime from the specified string.

Usage

From source file:eu.esdihumboldt.hale.common.headless.impl.WorkspaceServiceImpl.java

License:Open Source License

/**
 * Triggers the service scanning for workspace folders where the lease time
 * has ended and deletes them./*from w ww  . ja v  a  2s .c  o m*/
 */
public void trigger() {
    for (File candidate : parentDir.listFiles(new FileFilter() {

        @Override
        public boolean accept(File file) {
            return !file.isHidden() && file.isDirectory() && configFile(file).exists();
        }

    })) {
        // retrieve lease end time
        DateTime leaseEnd = null;
        try {
            PropertiesFile configFile = new PropertiesFile(configFile(candidate));
            leaseEnd = DateTime.parse(configFile.getProperty(PROPERTY_LEASE_END));
        } catch (Exception e) {
            log.error("Failed to retrieve workspace folder lease end time.", e);
        }

        if (leaseEnd != null) {
            if (leaseEnd.isBeforeNow()) {
                // delete folder
                try {
                    FileUtils.deleteDirectory(candidate);
                } catch (IOException e) {
                    log.error("Error deleting workspace folder", e);
                }

                if (candidate.exists()) {
                    log.error("Failed to delete workspace folder, leaving it for next time.");
                } else {
                    configFile(candidate).delete();
                    log.info("Removed workspace " + candidate.getName() + " after lease expired.");
                }
            }
        }
    }
}

From source file:eu.itesla_project.commons.config.MapModuleConfig.java

License:Mozilla Public License

@Override
public DateTime getDateTimeProperty(String name) {
    return DateTime.parse(getStringProperty(name));
}

From source file:eu.itesla_project.fpf_integration.RunFPFTool.java

License:Mozilla Public License

@Override
public void run(CommandLine line) throws Exception {

    OnlineWorkflowParameters parameters = OnlineWorkflowParameters.loadDefault();
    OnlineConfig onlineConfig = OnlineConfig.load();

    String analysisId = line.hasOption("analysis") ? line.getOptionValue("analysis")
            : parameters.getFeAnalysisId();
    DateTime baseCaseDate = line.hasOption("base-case-date")
            ? DateTime.parse(line.getOptionValue("base-case-date"))
            : parameters.getBaseCaseDate();
    TimeHorizon timeHorizon = line.hasOption("time-horizon")
            ? TimeHorizon.fromName(line.getOptionValue("time-horizon"))
            : parameters.getTimeHorizon();

    String outputDir = line.getOptionValue("output-dir");

    ComputationManager computationManager = new LocalComputationManager();
    ForecastErrorsDataStorageImpl feDataStorage = new ForecastErrorsDataStorageImpl();
    CaseRepository caseRepository = onlineConfig.getCaseRepositoryFactoryClass().newInstance()
            .create(computationManager);

    List<Network> networks = caseRepository.load(baseCaseDate, CaseType.FO, Country.FR);
    if (networks.isEmpty()) {
        throw new RuntimeException("Base case not found");
    }//from ww  w  . j a v a  2 s  .  co  m
    Network network = networks.get(0);
    System.out.println("- Network id: " + network.getId());
    System.out.println("- Network name: " + network.getName());

    ContingenciesAndActionsDatabaseClient contingenciesDb = onlineConfig.getContingencyDbClientFactoryClass()
            .newInstance().create();
    List<Contingency> contingencyList = contingenciesDb.getContingencies(network);

    FPFAnalysis fpfce = new FPFAnalysis();
    fpfce.init(network, computationManager, feDataStorage);
    fpfce.run(analysisId, timeHorizon, contingencyList, Paths.get(outputDir));
}

From source file:eu.itesla_project.iidm.network.test.FictitiousSwitchFactory.java

License:Mozilla Public License

public static Network create() {
    Network network = NetworkFactory.create("fictitious", "test");
    network.setCaseDate(DateTime.parse("2017-06-25T17:43:00.000+01:00"));
    network.setForecastDistance(0);//ww w.j av  a2  s  .co m

    Substation s = network.newSubstation().setId("A").setCountry(Country.FR).add();
    VoltageLevel vlC = s.newVoltageLevel().setId("C").setNominalV(225.0f).setLowVoltageLimit(0.0f)
            .setTopologyKind(TopologyKind.NODE_BREAKER).add();
    vlC.getNodeBreakerView().setNodeCount(5);
    BusbarSection busbarSectionD = vlC.getNodeBreakerView().newBusbarSection().setId("D").setName("E")
            .setNode(0).add();
    createSwitch(vlC, "F", "G", SwitchKind.DISCONNECTOR, false, false, true, 0, 1);
    createSwitch(vlC, "H", "I", SwitchKind.DISCONNECTOR, false, false, true, 0, 3);
    createSwitch(vlC, "J", "K", SwitchKind.BREAKER, true, false, true, 1, 2);
    createSwitch(vlC, "L", "M", SwitchKind.BREAKER, true, false, true, 3, 4);

    VoltageLevel vlN = s.newVoltageLevel().setId("N").setNominalV(225.0f).setLowVoltageLimit(220.0f)
            .setHighVoltageLimit(245.00002f).setTopologyKind(TopologyKind.NODE_BREAKER).add();
    vlN.getNodeBreakerView().setNodeCount(23);
    BusbarSection busbarSectionO = vlN.getNodeBreakerView().newBusbarSection().setId("O").setName("E")
            .setNode(0).add();
    BusbarSection busbarSectionP = vlN.getNodeBreakerView().newBusbarSection().setId("P").setName("Q")
            .setNode(1).add();
    createSwitch(vlN, "R", "S", SwitchKind.DISCONNECTOR, false, true, false, 0, 19);
    createSwitch(vlN, "T", "U", SwitchKind.DISCONNECTOR, false, true, false, 0, 17);
    createSwitch(vlN, "V", "W", SwitchKind.DISCONNECTOR, false, true, false, 0, 21);
    createSwitch(vlN, "X", "Y", SwitchKind.DISCONNECTOR, false, true, false, 0, 11);
    createSwitch(vlN, "Z", "AA", SwitchKind.DISCONNECTOR, false, true, false, 0, 13);
    createSwitch(vlN, "AB", "AC", SwitchKind.DISCONNECTOR, false, false, false, 0, 15);
    createSwitch(vlN, "AD", "AE", SwitchKind.DISCONNECTOR, false, true, false, 0, 8);
    createSwitch(vlN, "AF", "AG", SwitchKind.DISCONNECTOR, false, true, true, 0, 2);
    createSwitch(vlN, "AH", "AI", SwitchKind.DISCONNECTOR, false, false, false, 7, 0);
    createSwitch(vlN, "AJ", "AK", SwitchKind.DISCONNECTOR, false, false, false, 1, 6);
    createSwitch(vlN, "AL", "AM", SwitchKind.DISCONNECTOR, false, false, false, 1, 19);
    createSwitch(vlN, "AN", "AO", SwitchKind.DISCONNECTOR, false, false, false, 1, 17);
    createSwitch(vlN, "AP", "AQ", SwitchKind.DISCONNECTOR, false, false, false, 1, 21);
    createSwitch(vlN, "AR", "AS", SwitchKind.DISCONNECTOR, false, true, false, 1, 11);
    createSwitch(vlN, "AT", "AU", SwitchKind.DISCONNECTOR, false, true, false, 1, 13);
    createSwitch(vlN, "AV", "AW", SwitchKind.DISCONNECTOR, false, true, false, 1, 15);
    createSwitch(vlN, "AX", "AY", SwitchKind.DISCONNECTOR, false, false, false, 1, 8);
    createSwitch(vlN, "AZ", "BA", SwitchKind.DISCONNECTOR, false, true, true, 1, 2);
    createSwitch(vlN, "BB", "BC", SwitchKind.BREAKER, true, true, true, 2, 3);
    createSwitch(vlN, "BD", "BE", SwitchKind.BREAKER, true, false, false, 3, 4);
    createSwitch(vlN, "BF", "BG", SwitchKind.DISCONNECTOR, false, false, false, 3, 5);
    createSwitch(vlN, "BH", "BI", SwitchKind.DISCONNECTOR, false, true, false, 9, 3);
    createSwitch(vlN, "BJ", "BK", SwitchKind.BREAKER, true, false, false, 6, 7);
    createSwitch(vlN, "BL", "BM", SwitchKind.BREAKER, true, false, false, 8, 9);
    createSwitch(vlN, "BN", "BO", SwitchKind.DISCONNECTOR, false, false, false, 9, 10);
    createSwitch(vlN, "BP", "BQ", SwitchKind.BREAKER, true, true, false, 11, 12);
    createSwitch(vlN, "BR", "BS", SwitchKind.BREAKER, true, true, false, 13, 14);
    createSwitch(vlN, "BT", "BU", SwitchKind.BREAKER, true, false, false, 15, 16);
    createSwitch(vlN, "BV", "BW", SwitchKind.BREAKER, true, false, false, 17, 18);
    createSwitch(vlN, "BX", "BY", SwitchKind.BREAKER, true, false, false, 19, 20);
    createSwitch(vlN, "BZ", "CA", SwitchKind.BREAKER, true, false, false, 21, 22);

    Generator generatorCB = vlN.newGenerator().setId("CB").setEnergySource(EnergySource.HYDRO).setMinP(0.0f)
            .setMaxP(70.0f).setVoltageRegulatorOn(false).setTargetP(0.0f).setTargetV(0.0f).setTargetQ(0.0f)
            .setNode(12).add();
    generatorCB.newReactiveCapabilityCurve().beginPoint().setP(0.0f).setMinQ(-59.3f).setMaxQ(60.0f).endPoint()
            .beginPoint().setP(70.0f).setMinQ(-54.55f).setMaxQ(46.25f).endPoint().add();

    Generator generatorCC = vlN.newGenerator().setId("CC").setEnergySource(EnergySource.HYDRO).setMinP(0.0f)
            .setMaxP(80.0f).setVoltageRegulatorOn(false).setTargetP(0.0f).setTargetV(0.0f).setTargetQ(0.0f)
            .setNode(14).add();
    generatorCC.newReactiveCapabilityCurve().beginPoint().setP(0.0f).setMinQ(-56.8f).setMaxQ(57.4f).endPoint()
            .beginPoint().setP(80.0f).setMinQ(-53.514f).setMaxQ(36.4f).endPoint().add();

    Generator generatorCD = vlN.newGenerator().setId("CD").setEnergySource(EnergySource.HYDRO).setMinP(0.0f)
            .setMaxP(35.0f).setVoltageRegulatorOn(true).setTargetP(21.789589f).setTargetV(236.44736f)
            .setTargetQ(-20.701546f).setNode(16).add();
    generatorCD.getTerminal().setP(-21.789589f).setQ(20.693394f);
    generatorCD.newReactiveCapabilityCurve().beginPoint().setP(0.0f).setMinQ(-20.6f).setMaxQ(18.1f).endPoint()
            .beginPoint().setP(35.0f).setMinQ(-21.725f).setMaxQ(6.3500004f).endPoint().add();

    Load loadCE = vlN.newLoad().setId("CE").setLoadType(LoadType.UNDEFINED).setP0(-72.18689f).setQ0(50.168945f)
            .setNode(4).add();
    loadCE.getTerminal().setP(-72.18689f).setQ(50.168945f);

    Load loadCF = vlN.newLoad().setId("CF").setLoadType(LoadType.UNDEFINED).setP0(8.455854f).setQ0(-23.695925f)
            .setNode(18).add();
    loadCF.getTerminal().setP(8.455854f).setQ(-23.695925f);

    Load loadCG = vlN.newLoad().setId("CG").setLoadType(LoadType.UNDEFINED).setP0(90.39911f).setQ0(-51.96869f)
            .setNode(20).add();
    loadCG.getTerminal().setP(90.39911f).setQ(-51.96869f);

    Load loadCH = vlN.newLoad().setId("CH").setLoadType(LoadType.UNDEFINED).setP0(-5.102249f).setQ0(4.9081216f)
            .setNode(22).add();
    loadCH.getTerminal().setP(-5.102249f).setQ(4.9081216f);

    TwoWindingsTransformer twtCI = s.newTwoWindingsTransformer().setId("CI").setR(2.0f).setX(14.745f).setG(0.0f)
            .setB(3.2E-5f).setRatedU1(225.0f).setRatedU2(225.0f).setNode1(2).setVoltageLevel1("C").setNode2(10)
            .setVoltageLevel2("N").add();
    twtCI.newCurrentLimits1().setPermanentLimit(931.0f).add();
    twtCI.newCurrentLimits2().setPermanentLimit(931.0f).add();
    twtCI.newPhaseTapChanger().setLowTapPosition(0).setTapPosition(22)
            .setRegulationMode(PhaseTapChanger.RegulationMode.CURRENT_LIMITER).setRegulationValue(930.6667f)
            .setRegulating(false).setRegulationTerminal(twtCI.getTerminal(Branch.Side.ONE)).beginStep()
            .setR(39.78473f).setX(39.784725f).setG(0.0f).setB(0.0f).setRho(1.0f).setAlpha(-42.8f).endStep()
            .beginStep().setR(31.720245f).setX(31.720242f).setG(0.0f).setB(0.0f).setRho(1.0f).setAlpha(-40.18f)
            .endStep().beginStep().setR(23.655737f).setX(23.655735f).setG(0.0f).setB(0.0f).setRho(1.0f)
            .setAlpha(-37.54f).endStep().beginStep().setR(16.263271f).setX(16.263268f).setG(0.0f).setB(0.0f)
            .setRho(1.0f).setAlpha(-34.9f).endStep().beginStep().setR(9.542847f).setX(9.542842f).setG(0.0f)
            .setB(0.0f).setRho(1.0f).setAlpha(-32.26f).endStep().beginStep().setR(3.4944773f).setX(3.4944773f)
            .setG(0.0f).setB(0.0f).setRho(1.0f).setAlpha(-29.6f).endStep().beginStep().setR(-1.8818557f)
            .setX(-1.8818527f).setG(0.0f).setB(0.0f).setRho(1.0f).setAlpha(-26.94f).endStep().beginStep()
            .setR(-7.258195f).setX(-7.2581954f).setG(0.0f).setB(0.0f).setRho(1.0f).setAlpha(-24.26f).endStep()
            .beginStep().setR(-11.962485f).setX(-11.962484f).setG(0.0f).setB(0.0f).setRho(1.0f)
            .setAlpha(-21.58f).endStep().beginStep().setR(-15.994745f).setX(-15.994745f).setG(0.0f).setB(0.0f)
            .setRho(1.0f).setAlpha(-18.9f).endStep().beginStep().setR(-19.354952f).setX(-19.354952f).setG(0.0f)
            .setB(0.0f).setRho(1.0f).setAlpha(-16.22f).endStep().beginStep().setR(-22.043127f).setX(-22.043129f)
            .setG(0.0f).setB(0.0f).setRho(1.0f).setAlpha(-13.52f).endStep().beginStep().setR(-24.73129f)
            .setX(-24.731287f).setG(0.0f).setB(0.0f).setRho(1.0f).setAlpha(-10.82f).endStep().beginStep()
            .setR(-26.747417f).setX(-26.747417f).setG(0.0f).setB(0.0f).setRho(1.0f).setAlpha(-8.12f).endStep()
            .beginStep().setR(-28.091503f).setX(-28.091503f).setG(0.0f).setB(0.0f).setRho(1.0f).setAlpha(-5.42f)
            .endStep().beginStep().setR(-28.763538f).setX(-28.763536f).setG(0.0f).setB(0.0f).setRho(1.0f)
            .setAlpha(-2.7f).endStep().beginStep().setR(-28.763538f).setX(-28.763536f).setG(0.0f).setB(0.0f)
            .setRho(1.0f).setAlpha(0.0f).endStep().beginStep().setR(-28.763538f).setX(-28.763536f).setG(0.0f)
            .setB(0.0f).setRho(1.0f).setAlpha(2.7f).endStep().beginStep().setR(-28.091503f).setX(-28.091503f)
            .setG(0.0f).setB(0.0f).setRho(1.0f).setAlpha(5.42f).endStep().beginStep().setR(-26.747417f)
            .setX(-26.747417f).setG(0.0f).setB(0.0f).setRho(1.0f).setAlpha(8.12f).endStep().beginStep()
            .setR(-24.73129f).setX(-24.731287f).setG(0.0f).setB(0.0f).setRho(1.0f).setAlpha(10.82f).endStep()
            .beginStep().setR(-22.043127f).setX(-22.043129f).setG(0.0f).setB(0.0f).setRho(1.0f).setAlpha(13.52f)
            .endStep().beginStep().setR(-19.354952f).setX(-19.354952f).setG(0.0f).setB(0.0f).setRho(1.0f)
            .setAlpha(16.22f).endStep().beginStep().setR(-15.994745f).setX(-15.994745f).setG(0.0f).setB(0.0f)
            .setRho(1.0f).setAlpha(18.9f).endStep().beginStep().setR(-11.962485f).setX(-11.962484f).setG(0.0f)
            .setB(0.0f).setRho(1.0f).setAlpha(21.58f).endStep().beginStep().setR(-7.258195f).setX(-7.2581954f)
            .setG(0.0f).setB(0.0f).setRho(1.0f).setAlpha(24.26f).endStep().beginStep().setR(-1.8818557f)
            .setX(-1.8818527f).setG(0.0f).setB(0.0f).setRho(1.0f).setAlpha(26.94f).endStep().beginStep()
            .setR(3.4944773f).setX(3.4944773f).setG(0.0f).setB(0.0f).setRho(1.0f).setAlpha(29.6f).endStep()
            .beginStep().setR(9.542847f).setX(9.542842f).setG(0.0f).setB(0.0f).setRho(1.0f).setAlpha(32.26f)
            .endStep().beginStep().setR(16.263271f).setX(16.263268f).setG(0.0f).setB(0.0f).setRho(1.0f)
            .setAlpha(34.9f).endStep().beginStep().setR(23.655737f).setX(23.655735f).setG(0.0f).setB(0.0f)
            .setRho(1.0f).setAlpha(37.54f).endStep().beginStep().setR(31.720245f).setX(31.720242f).setG(0.0f)
            .setB(0.0f).setRho(1.0f).setAlpha(40.18f).endStep().beginStep().setR(39.78473f).setX(39.784725f)
            .setG(0.0f).setB(0.0f).setRho(1.0f).setAlpha(42.8f).endStep().add();

    Line lineCJ = network.newLine().setId("CJ").setR(0.009999999f).setX(0.100000024f).setG1(0.0f).setB1(0.0f)
            .setG2(0.0f).setB2(0.0f).setNode1(4).setVoltageLevel1("C").setNode2(5).setVoltageLevel2("N").add();
    lineCJ.newCurrentLimits1().setPermanentLimit(931.0f).add();
    lineCJ.newCurrentLimits2().setPermanentLimit(931.0f).beginTemporaryLimit().setName("IST").setValue(1640.0f)
            .setFictitious(true).setAcceptableDuration(Integer.MAX_VALUE).endTemporaryLimit()
            .beginTemporaryLimit().setName("IT1").setValue(Float.MAX_VALUE).setAcceptableDuration(60)
            .endTemporaryLimit().add();

    busbarSectionD.getTerminal().getBusView().getBus().setV(234.40912f).setAngle(0.0f);
    busbarSectionO.getTerminal().getBusView().getBus().setV(236.44736f).setAngle(15250391f);
    busbarSectionP.getTerminal().getBusView().getBus().setV(236.44736f).setAngle(15.250391f);

    return network;
}

From source file:eu.itesla_project.iidm.network.test.HvdcTestNetwork.java

License:Mozilla Public License

private static Network createBase() {
    Network network = NetworkFactory.create("hvdctest", "test");
    network.setCaseDate(DateTime.parse("2016-06-27T16:34:55.930+02:00"));
    Substation s1 = network.newSubstation().setId("S1").setCountry(Country.FR).add();
    VoltageLevel vl1 = s1.newVoltageLevel().setId("VL1").setNominalV(400)
            .setTopologyKind(TopologyKind.BUS_BREAKER).add();
    vl1.getBusBreakerView().newBus().setId("B1").add();
    Substation s2 = network.newSubstation().setId("S2").setCountry(Country.FR).add();
    VoltageLevel vl2 = s2.newVoltageLevel().setId("VL2").setNominalV(400)
            .setTopologyKind(TopologyKind.NODE_BREAKER).add();
    vl2.getNodeBreakerView().setNodeCount(3);
    vl2.getNodeBreakerView().newBusbarSection().setId("BBS1").setName("BusbarSection").setNode(0).add();
    vl2.getNodeBreakerView().newDisconnector().setId("DISC_BBS1_BK1").setName("Disconnector").setNode1(0)
            .setNode2(1).setOpen(false).setRetained(true).add();
    vl2.getNodeBreakerView().newBreaker().setId("BK1").setName("Breaker").setNode1(1).setNode2(2).setOpen(false)
            .setRetained(false).add();//from www.  j  a va 2 s  . co m
    return network;
}

From source file:eu.itesla_project.iidm.network.test.PhaseShifterTestCaseFactory.java

License:Mozilla Public License

public static Network create() {
    Network network = NetworkFactory.create("phaseShifterTestCase", "code");
    network.setCaseDate(DateTime.parse("2016-10-18T10:06:00.000+02:00"));
    Substation s1 = network.newSubstation().setId("S1").setCountry(Country.FR).add();
    VoltageLevel vl1 = s1.newVoltageLevel().setId("VL1").setNominalV(380f)
            .setTopologyKind(TopologyKind.BUS_BREAKER).add();
    Bus b1 = vl1.getBusBreakerView().newBus().setId("B1").add();
    b1.setV(400f).setAngle(0f);//from  ww w . ja  va2 s .  c  o m
    Generator g1 = vl1.newGenerator().setId("G1").setConnectableBus("B1").setBus("B1")
            .setVoltageRegulatorOn(true).setTargetP(100f).setTargetV(400f).setMinP(50).setMaxP(150).add();
    g1.getTerminal().setP(-100.16797f).setQ(-58.402832f);
    Substation s2 = network.newSubstation().setId("S2").setCountry(Country.FR).add();
    VoltageLevel vl2 = s2.newVoltageLevel().setId("VL2").setNominalV(380f)
            .setTopologyKind(TopologyKind.BUS_BREAKER).add();
    Bus b2 = vl2.getBusBreakerView().newBus().setId("B2").add();
    b2.setV(385.6934f).setAngle(-3.6792064f);
    Load ld2 = vl2.newLoad().setId("LD2").setConnectableBus("B2").setBus("B2").setP0(100f).setQ0(50f).add();
    ld2.getTerminal().setP(100f).setQ(50f);
    Line l1 = network.newLine().setId("L1").setVoltageLevel1("VL1").setConnectableBus1("B1").setBus1("B1")
            .setVoltageLevel2("VL2").setConnectableBus2("B2").setBus2("B2").setR(4f).setX(200f).setG1(0f)
            .setB1(0f).setG2(0f).setB2(0f).add();
    l1.getTerminal1().setP(50.084026f).setQ(29.201416f);
    l1.getTerminal2().setP(-50f).setQ(-25f);
    VoltageLevel vl3 = s1.newVoltageLevel().setId("VL3").setNominalV(380f)
            .setTopologyKind(TopologyKind.BUS_BREAKER).add();
    Bus b3 = vl3.getBusBreakerView().newBus().setId("B3").add();
    b3.setV(392.6443f).setAngle(-1.8060945f);
    TwoWindingsTransformer ps1 = s1.newTwoWindingsTransformer().setId("PS1").setVoltageLevel1("VL1")
            .setConnectableBus1("B1").setBus1("B1").setVoltageLevel2("VL3").setConnectableBus2("B3")
            .setBus2("B3").setRatedU1(380f).setRatedU2(380f).setR(2f).setX(100f).setG(0f).setB(0f).add();
    ps1.getTerminal1().setP(50.08403f).setQ(29.201416f);
    ps1.getTerminal2().setP(-50.042015f).setQ(-27.100708f);
    ps1.newPhaseTapChanger().setTapPosition(1).setRegulationTerminal(ps1.getTerminal2())
            .setRegulationMode(PhaseTapChanger.RegulationMode.FIXED_TAP).setRegulationValue(200).beginStep()
            .setAlpha(-20f).setRho(1f).setR(0f).setX(0f).setG(0f).setB(0f).endStep().beginStep().setAlpha(0f)
            .setRho(1f).setR(0f).setX(0f).setG(0f).setB(0f).endStep().beginStep().setAlpha(20f).setRho(1f)
            .setR(0f).setX(0f).setG(0f).setB(0f).endStep().add();
    Line l2 = network.newLine().setId("L2").setVoltageLevel1("VL3").setConnectableBus1("B3").setBus1("B3")
            .setVoltageLevel2("VL2").setConnectableBus2("B2").setBus2("B2").setR(2f).setX(100f).setG1(0f)
            .setB1(0f).setG2(0f).setB2(0f).add();
    l2.getTerminal1().setP(50.042015f).setQ(27.100708f);
    l2.getTerminal2().setP(-50f).setQ(-25f);
    return network;
}

From source file:eu.itesla_project.iidm.network.test.SvcTestCaseFactory.java

License:Mozilla Public License

public static Network create() {
    Network network = NetworkFactory.create("svcTestCase", "code");
    network.setCaseDate(DateTime.parse("2016-06-29T14:54:03.427+02:00"));
    Substation s1 = network.newSubstation().setId("S1").setCountry(Country.FR).add();
    VoltageLevel vl1 = s1.newVoltageLevel().setId("VL1").setNominalV(380f)
            .setTopologyKind(TopologyKind.BUS_BREAKER).add();
    vl1.getBusBreakerView().newBus().setId("B1").add();
    vl1.newGenerator().setId("G1").setConnectableBus("B1").setBus("B1").setVoltageRegulatorOn(true)
            .setTargetP(100f).setTargetV(400f).setMinP(50).setMaxP(150).add();
    Substation s2 = network.newSubstation().setId("S2").setCountry(Country.FR).add();
    VoltageLevel vl2 = s2.newVoltageLevel().setId("VL2").setNominalV(380f)
            .setTopologyKind(TopologyKind.BUS_BREAKER).add();
    vl2.getBusBreakerView().newBus().setId("B2").add();
    vl2.newLoad().setId("L2").setConnectableBus("B2").setBus("B2").setP0(100f).setQ0(50f).add();
    vl2.newStaticVarCompensator().setId("SVC2").setConnectableBus("B2").setBus("B2").setBmin(0.0002f)
            .setBmax(0.0008f).setRegulationMode(StaticVarCompensator.RegulationMode.VOLTAGE)
            .setVoltageSetPoint(390f).add();
    network.newLine().setId("L1").setVoltageLevel1("VL1").setConnectableBus1("B1").setBus1("B1")
            .setVoltageLevel2("VL2").setConnectableBus2("B2").setBus2("B2").setR(4f).setX(200f).setG1(0f)
            .setB1(0f).setG2(0f).setB2(0f).add();
    return network;
}

From source file:eu.itesla_project.iidm.xml.NetworkXml.java

License:Mozilla Public License

public static Network read(InputStream is, XmlImportConfig config, Anonymizer anonymizer) {
    try {/*from   ww w  .jav  a 2  s  .c  o m*/
        XMLStreamReader reader = XML_INPUT_FACTORY_SUPPLIER.get().createXMLStreamReader(is);
        reader.next();

        String id = reader.getAttributeValue(null, "id");
        DateTime date = DateTime.parse(reader.getAttributeValue(null, "caseDate"));
        int forecastDistance = XmlUtil.readOptionalIntegerAttribute(reader, "forecastDistance", 0);
        String sourceFormat = reader.getAttributeValue(null, "sourceFormat");

        Network network = NetworkFactory.create(id, sourceFormat);
        network.setCaseDate(date);
        network.setForecastDistance(forecastDistance);

        XmlReaderContext context = new XmlReaderContext(anonymizer, reader);

        Set<String> extensionNamesNotFound = new TreeSet<>();

        XmlUtil.readUntilEndElement(NETWORK_ROOT_ELEMENT_NAME, reader, () -> {
            switch (reader.getLocalName()) {
            case SubstationXml.ROOT_ELEMENT_NAME:
                SubstationXml.INSTANCE.read(network, context);
                break;

            case LineXml.ROOT_ELEMENT_NAME:
                LineXml.INSTANCE.read(network, context);
                break;

            case TieLineXml.ROOT_ELEMENT_NAME:
                TieLineXml.INSTANCE.read(network, context);
                break;

            case HvdcLineXml.ROOT_ELEMENT_NAME:
                HvdcLineXml.INSTANCE.read(network, context);
                break;

            case EXTENSION_ELEMENT_NAME:
                String id2 = context.getAnonymizer().deanonymizeString(reader.getAttributeValue(null, "id"));
                Identifiable identifiable = network.getIdentifiable(id2);
                if (identifiable == null) {
                    throw new RuntimeException("Identifiable " + id2 + " not found");
                }
                XmlUtil.readUntilEndElement(EXTENSION_ELEMENT_NAME, reader, () -> {
                    String extensionName = reader.getLocalName();
                    ExtensionXml extensionXml = findExtensionXml(extensionName);
                    if (extensionXml != null) {
                        Identifiable.Extension<? extends Identifiable<?>> extension = extensionXml
                                .read(identifiable, context);
                        identifiable.addExtension(extensionXml.getExtensionClass(), extension);
                    } else {
                        extensionNamesNotFound.add(extensionName);
                    }
                });
                break;

            default:
                throw new AssertionError();
            }
        });

        context.getEndTasks().forEach(Runnable::run);

        if (extensionNamesNotFound.size() > 0) {
            if (config.isThrowExceptionIfExtensionNotFound()) {
                throw new RuntimeException("Extensions " + extensionNamesNotFound + " not found");
            } else {
                LOGGER.error("Extensions {} not found", extensionNamesNotFound);
            }
        }

        return network;
    } catch (XMLStreamException e) {
        throw new RuntimeException(e);
    }
}

From source file:eu.itesla_project.merge.MergeByDateTool.java

License:Mozilla Public License

@Override
public void run(CommandLine line) throws Exception {
    ComponentDefaultConfig defaultConfig = ComponentDefaultConfig.load();
    CaseRepository caseRepository = defaultConfig.newFactoryImpl(CaseRepositoryFactory.class)
            .create(LocalComputationManager.getDefault());
    LoadFlowFactory loadFlowFactory = defaultConfig.newFactoryImpl(LoadFlowFactory.class);
    MergeOptimizerFactory mergeOptimizerFactory = defaultConfig.newFactoryImpl(MergeOptimizerFactory.class);
    Set<Country> countries = Arrays.stream(line.getOptionValue("countries").split(",")).map(Country::valueOf)
            .collect(Collectors.toSet());
    DateTime date = DateTime.parse(line.getOptionValue("date"));
    Path outputDir = Paths.get(line.getOptionValue("output-dir"));
    String outputFormat = line.getOptionValue("output-format");
    Exporter exporter = Exporters.getExporter(outputFormat);
    if (exporter == null) {
        throw new RuntimeException("Format " + outputFormat + " not supported");
    }/* ww w.  j  a va 2s. co  m*/
    boolean optimize = line.hasOption("optimize");

    System.out.println("merging...");

    Network merge = MergeUtil.merge(caseRepository, date, CaseType.SN, countries, loadFlowFactory, 0,
            mergeOptimizerFactory, LocalComputationManager.getDefault(), optimize);

    System.out.println("exporting...");

    String baseName = merge.getId().replace(" ", "_");
    exporter.export(merge, null, new FileDataSource(outputDir, baseName));
}

From source file:eu.itesla_project.merge.MergeUtil.java

License:Mozilla Public License

public static int getDateDistanceToReference(VoltageLevel vl) {
    DateTime caseDate;//from  w  w w . j  a v a  2  s.c  o m
    String caseDateStr = vl.getProperties().getProperty(CASE_DATE);
    if (caseDateStr == null) {
        caseDate = vl.getSubstation().getNetwork().getCaseDate();
    } else {
        caseDate = DateTime.parse(caseDateStr);
    }
    return (int) new Duration(caseDate, vl.getSubstation().getNetwork().getCaseDate()).getStandardMinutes();
}