InterPSS has an open architecture. One can
This guide will walk you through integrating an application with InterPSS.
Please Note: The following example uses InterPSS, running in Cmd Line mode, as an external application for demo purpose. You can integrate any Windows, Linux, Unix applications in this way.
InterPSS Custom Run Scripts, Java Code, are used to integrate other applications. In the following example, InterPSS simulation engine is running outside of GEditor as an independent application. The following are key steps:
package <package>; // do not modify this line
import org.interpss.PluginSpringAppContext;
import org.interpss.editor.ui.IOutputTextDialog;
import org.interpss.editor.ui.UISpringAppContext;
import com.interpss.common.msg.IPSSMsgHub;
import com.interpss.simu.ISimuCaseRunner;
import com.interpss.simu.SimuContext;
import com.interpss.simu.io.IpssFileAdapter;
import com.interpss.common.util.IpssJavaExec;
public class <classname> implements ISimuCaseRunner { // do not modify this line
public boolean runCase(SimuContext simuCtx, IPSSMsgHub msg) {
// export interpss object model to a text file using your custom adapter
IpssFileAdapter adapter = PluginSpringAppContext.getCustomFileAdapterByName("Sample File Adapter");
try {
// interpss info save to file output/ipss_export.ipssdat
adapter.save("output/ipss_export.ipssdat", simuCtx, msg);
} catch (Exception e) {
System.err.println(e.toString());
}
// launch an external application
String appRootDir = "c:/eclipse/GEditor/";
String[] args = {
// application is InterPSS itself
appRootDir+"bin/ipssCmd.bat",
// input is the file generated
"-in", appRootDir+"output/ipss_export.ipssdat",
// output file specified
"-out", appRootDir+"output/ipss_export.out"};
IpssJavaExec.exec(args);
return true;
}
// display results
public void displaySummaryResult(SimuContext simuCtx) {
IOutputTextDialog dialog = UISpringAppContext.getOutputTextDialog("Custom Run Output");
// the output from the application is loaded into InterPSS to display
dialog.display("output/ipss_export.out");
}
}