Skip to content

Tutorial code uses API classes not available in current JAR files (ipss.core.lib-1.0.jar / ipss.plugin.core-1.0.jar) #23

Description

@MeiZhiLi

Summary

The tutorial code in ipss.tutorial/src/main/java/org/interpss/tutorial/ references several API classes that do not exist in the current JAR files (ipss.core.lib-1.0.jar and ipss.plugin.core-1.0.jar). This causes compilation errors ("cannot resolve symbol") when building the tutorial module.

It appears the tutorial code was written for a newer version of the InterPSS API that has not yet been published in the JAR files bundled with this repository.

Details

1. LoadflowAlgoObjectFactory removed — should be CoreObjectFactory

The class com.interpss.core.LoadflowAlgoObjectFactory no longer exists in ipss.core.lib-1.0.jar. The equivalent methods (createLoadflowAlgorithm(), etc.) are now in com.interpss.core.CoreObjectFactory.

Affected files:

  • ch2_intro/IntroNetworkObjectSample.java
  • ch2_intro/SampleLoadflow.java
  • ch3_loadflow/IEEE9BusLoadFlow.java
  • ch3_loadflow/Texas2000BusLoadflow.java
  • ch4_shortCircuit/IEEE9Bus_Acsc_test.java

2. NrMethodConfig, NrOptimizeAlgoType, AclfAdjCtrlFunction do not exist

These classes are referenced in tutorial code but are not present in any of the bundled JARs:

  • com.interpss.core.algo.NrMethodConfig — does not exist
  • com.interpss.core.algo.NrOptimizeAlgoType — does not exist
  • com.interpss.core.funcImpl.AclfAdjCtrlFunction — does not exist

LoadflowAlgorithm in the current JAR provides setMaxIterations(), setTolerance(), setNonDivergent() directly instead.

Affected files:

  • ch3_loadflow/CustomLoadFlowExample.java (uses NrMethodConfig in CustomNrSolver constructor)
  • ch6_contingency/Texas2000BusContingency.java (uses all three)
  • ch6_contingency/ParallelContingency25k.java (uses all three)

3. Contingency analysis API mismatch — tutorial uses unreleased newer API

The tutorial uses new contingency analysis classes that don't exist in ipss.plugin.core-1.0.jar:

Tutorial code (unreleased) JAR actual class
AclfContingencyConfig ParallelContingencyAnalyzer.ContingencyConfig
ParallelAclfContingencyAnalyzer<T> ParallelContingencyAnalyzer (static methods)
ContingencyResultContainer<T> ParallelContingencyAnalyzer.ContingencyResult
AclfContingencyResultRec Not available (only Map<String, Boolean>)

Affected files:

  • ch6_contingency/ParallelContingency25k.java

4. Wrong package path for contingency/Dclf classes

The tutorial imports from com.interpss.core.contingency.* which does not exist. The actual package paths are:

  • com.interpss.core.contingency.ContingencyBranchOutageType → should be com.interpss.core.algo.dclf.CaBranchOutageType
  • com.interpss.core.contingency.dclf.DclfOutageBranch → should be com.interpss.core.algo.dclf.CaOutageBranch

Affected files:

  • ch7_saa/IEEE9BusSaa.java

Suggestions

  1. Update the tutorial code to match the current JAR API, or
  2. Publish updated JAR files that include the new API classes referenced by the tutorial code

Either approach would resolve the compilation errors and make the tutorial usable out-of-the-box.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions