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:
Suggestions
- Update the tutorial code to match the current JAR API, or
- 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.
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.jarandipss.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.
LoadflowAlgoObjectFactoryremoved — should beCoreObjectFactoryThe class
com.interpss.core.LoadflowAlgoObjectFactoryno longer exists inipss.core.lib-1.0.jar. The equivalent methods (createLoadflowAlgorithm(), etc.) are now incom.interpss.core.CoreObjectFactory.Affected files:
ch2_intro/IntroNetworkObjectSample.javach2_intro/SampleLoadflow.javach3_loadflow/IEEE9BusLoadFlow.javach3_loadflow/Texas2000BusLoadflow.javach4_shortCircuit/IEEE9Bus_Acsc_test.java2.
NrMethodConfig,NrOptimizeAlgoType,AclfAdjCtrlFunctiondo not existThese classes are referenced in tutorial code but are not present in any of the bundled JARs:
com.interpss.core.algo.NrMethodConfig— does not existcom.interpss.core.algo.NrOptimizeAlgoType— does not existcom.interpss.core.funcImpl.AclfAdjCtrlFunction— does not existLoadflowAlgorithmin the current JAR providessetMaxIterations(),setTolerance(),setNonDivergent()directly instead.Affected files:
ch3_loadflow/CustomLoadFlowExample.java(usesNrMethodConfiginCustomNrSolverconstructor)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:AclfContingencyConfigParallelContingencyAnalyzer.ContingencyConfigParallelAclfContingencyAnalyzer<T>ParallelContingencyAnalyzer(static methods)ContingencyResultContainer<T>ParallelContingencyAnalyzer.ContingencyResultAclfContingencyResultRecMap<String, Boolean>)Affected files:
ch6_contingency/ParallelContingency25k.java4. 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 becom.interpss.core.algo.dclf.CaBranchOutageTypecom.interpss.core.contingency.dclf.DclfOutageBranch→ should becom.interpss.core.algo.dclf.CaOutageBranchAffected files:
ch7_saa/IEEE9BusSaa.javaSuggestions
Either approach would resolve the compilation errors and make the tutorial usable out-of-the-box.