private void processOptions(String opts) { String s2 = " "; DSS.auxParser.setCommand(opts); // load up aux parser EnergyMeterObj elem = activeEnergyMeterObj; /* Loop until no more options found */ while (s2.length() > 0) { DSS.auxParser.getNextParam(); // ignore any parameter name not expecting any s2 = DSS.auxParser.stringValue().toLowerCase(); if (s2.length() > 0) { switch (s2.charAt(0)) { case 'e': elem.setExcessFlag(true); break; case 't': elem.setExcessFlag(false); break; case 'r': elem.setZoneIsRadial(true); break; case 'm': elem.setZoneIsRadial(false); break; case 'c': elem.setVoltageUEOnly(false); break; case 'v': elem.setVoltageUEOnly(true); break; } } } }
@Override protected int makeLike(String energyMeterName) { EnergyMeterObj elem; int success = 0; /* See if we can find this EnergyMeter name in the present collection */ EnergyMeterObj other = (EnergyMeterObj) find(energyMeterName); if (other != null) { elem = activeEnergyMeterObj; elem.setNumPhases(other.getNumPhases()); elem.setNumConds(other.getNumConds()); // force reallocation of terminal stuff elem.setElementName(other.getElementName()); elem.setMeteredElement(other.getMeteredElement()); // pointer to target circuit element elem.setMeteredTerminalIdx(other.getMeteredTerminalIdx()); elem.setExcessFlag(other.isExcessFlag()); elem.setMaxZoneKVANorm(other.getMaxZoneKVANorm()); elem.setMaxZoneKVAEmerg(other.getMaxZoneKVAEmerg()); elem.setDefinedZoneListSize(other.getDefinedZoneListSize()); elem.setDefinedZoneList(new String[elem.getDefinedZoneListSize()]); // copy strings over (actually incr ref count on string) for (int i = 0; i < elem.getDefinedZoneListSize(); i++) elem.getDefinedZoneList()[i] = other.getDefinedZoneList()[i]; elem.setLocalOnly(other.isLocalOnly()); elem.setVoltageUEOnly(other.isVoltageUEOnly()); /* Boolean flags */ elem.setLosses(other.isLosses()); elem.setLineLosses(other.isLineLosses()); elem.setXfmrLosses(other.isXfmrLosses()); elem.setSeqLosses(other.isSeqLosses()); elem.setThreePhaseLosses(other.isThreePhaseLosses()); elem.setVBaseLosses(other.isVBaseLosses()); elem.setPhaseVoltageReport(other.isPhaseVoltageReport()); for (int i = 0; i < elem.getParentClass().getNumProperties(); i++) elem.setPropertyValue(i, other.getPropertyValue(i)); success = 1; } else { DSS.doSimpleMsg("Error in EnergyMeter makeLike: \"" + energyMeterName + "\" not found.", 521); } return success; }