package org.ieee.odm.adapter.psse.parser.dynamic.tur_gov; import org.ieee.odm.adapter.psse.PSSEAdapter.PsseVersion; import org.ieee.odm.adapter.psse.parser.aclf.BasePSSEDataParser; import org.ieee.odm.common.ODMException; import org.ieee.odm.model.base.ODMModelStringUtil; public class PSSETurGovIEEE1981Type1Parser extends BasePSSEDataParser { public PSSETurGovIEEE1981Type1Parser(PsseVersion ver) { super(ver); } /* * //PSSE IEEEG1 -> IEEE 1981 Type 1 Tur-Gov model * IBUS, 'IEEEG1', JBUS, M, K, T1, T2, T3, Uo, Uc, PMAX, PMIN, T4, K1, K2, T5, K3, K4, T6, K5, K6, T7, K7, K8/ * *Note: JBUS and JM are set to zero for noncross compound * */ @Override public String[] getMetadata() { return new String[]{ // 0----------1----------2----------3----------4 "IBUS", "Type", "MachId", "JBUS", "M", // 5----------6----------7----------8----------9 "K", "T1", "T2", "T3", "Uo", // 10----------11--------12---------13---------14 "Uc", "PMAX", "PMIN", "T4", "K1", // 15----------16--------17---------18---------19 "K2", "T5", "K3", "K4", "T6", // 20----------21--------22---------23---------24 "K5", "K6", "T7", "K7", "K8", }; } @Override public void parseFields(final String lineStr) throws ODMException { this.clearNVPairTableData(); // split the line string by multi-blanks String[] strAry=lineStr.split("\\s+"); int cnt =strAry.length; for (int i = 0; i <cnt ; i++){ if(i==1){// model type, need to trim the quote setValue(i,ODMModelStringUtil.trimQuote(strAry[i].trim())); } else setValue(i, strAry[i].trim()); } } }