public abstract class DeployedMeter extends Mbo implements DeployedMeterRemote
AssetMeter and
LocationMeter, referred to
herein generically as DeployedMeter| Modifier and Type | Field and Description |
|---|---|
protected java.lang.String |
app
used in determining signature security for entering and modifying
meter readings.
|
protected java.lang.String |
avgCalcKey
key to be used in the average meter reading calculation for the
subclass of this DeployedMeter.
|
protected java.lang.String |
coreAvgCalcSql
SQL string set in init() and used by all average calculation methods.
|
protected java.lang.String |
deployKey
key for the subclass of this DeployedMeter.
|
protected MboRemote |
earliestModifiedReading
specifies the modified reading with the earliest readingdate.
|
protected boolean |
enteringReplacementReading
is this DeployedMeter in the process of adding a replacement
meterreading? A replacement reading always has a delta of 0.
|
protected boolean |
isReadingUpdate
used when rolling a meter reading down and/or forward.
|
protected boolean |
isWOMeterProcess
flag to indicate whether the DeployedMeter is processing a
WOMeter entry
|
protected java.util.Hashtable |
modifiedReadings
contains updated/modified readings.
|
protected MboRemote |
newMeterReading
new reading for this DeployedMeter
|
protected Mbo |
origMRUpdate
when performing a meter history update, this is the meter reading MBO that
is at the beginning of the rollforward and at the top of the rolldown.
|
protected java.lang.String |
readingTable
table that holds the meter reading history for the subclass of this DeployedMeter.
|
protected boolean |
supressUniquenessError
if DeployedMeter is being added from
MeterInGroup via the
PropagateMeterGroupMod functionality, or if DeployedMeter is being added as a result of the
DeployedMeter's parent's GroupName attribute being modified, this flag is used by
MeterService's meterUniqueToSet() method
to supress the system's duplicatekey error. |
protected MboRemote |
woForWOMeter
work order from which this DeployedMeter was instantiated.
|
protected java.lang.String |
woMeter_IdAttribute
WOMETER.MeterReadingId or WOMETER.LocMeterReadingId
depending on whether the WOMeter is for an AssetMeter
or LocationMeter.
|
MULTILANGCOPY, phantomList, phantomQueueALLROWS, CHANGEDBY_USER, COUNT_ADDITIONS, COUNT_AFTERSAVE, COUNT_DATABASE, COUNT_DELETED, COUNT_EXISTING, DBCONFIG, DELAYVALIDATION, DELAYVALIDATIONONLY, DISCARDABLE, GOTCOMPLETEWHERE, HIDDEN, NO_RELATEDMBOS_OF_OWNERSCHILDREN_FETCH, NOACCESSCHECK, NOACTION, NOADD, NOCOMMIT, NODELETE, NONE, NOOVERWRITE, NOSAVE, NOSETVALUE, NOUPDATE, NOVALIDATION, NOVALIDATION_AND_NOACTION, NOVALIDATION_AND_NOACTION_ALLOWCROSSOVER, READONLY, REBUILD, REQUIRED, SAMEVALUEVALIDATION, SETBYPARENT, USER| Constructor and Description |
|---|
DeployedMeter(MboSet ms)
Constructs the DeployedMeter object.
|
| Modifier and Type | Method and Description |
|---|---|
void |
add()
adds a new DeployedMeter object and sets field defaults.
|
void |
addModifiedReadingsForAvgCalc(MboRemote reading)
adds modified readings to be used to refresh the average reading for the DeployedMeter following
a new meter reading or meter reading update.
|
MboRemote |
addReading()
adds a new reading for the DeployedMeter
|
void |
appValidate()
validates context-sensitive attributes AvgCalcInfo and AvgCalcMethod.
|
void |
canDelete()
This DeployedMeter can be deleted if it does not exist in any of the following
objects:
|
boolean |
canDeleteForecast(java.lang.String message) |
void |
delete(long accessModifier)
Mark the object to be deleted depending on the access modifier.
|
void |
enableDisable()
sets read/writeability of non-persistent attributes listed below
based on the status of the DeployedMeter's Active attribute.
|
boolean |
enterReadingOnMaterialIssue()
called from an owning and new MatUseTrans object of IssueType ISSUE to
record a meter reading when the item being issued is NOT rotating,
has a metername and is being issued to an Asset or Location,
and the Asset or Location has an AssetMeter or LocationMeter
with a metername that corresponds to the issued item's metername.
|
java.lang.String |
getAvgCalcMethod()
returns the internal translation of the AvgCalcMethod value from the
AVERAGEMETHOD domain.
|
protected double |
getDenominator(java.util.Date earliest,
java.util.Date recent)
Gets the denominator.
|
protected abstract java.lang.Object[] |
getDeploymentInfo()
provides key value and meter reading table name information for the DeployedMeter's
instanciated subclass, for example, an AssetMeter ("assetnum" and "meterreading")
or LocationMeter ("location" and "locmeterreading").
|
boolean |
getIsReadingUpdate()
gets the yes/no flag that tells whether this DeployedMeter has been instanciated
while rolling a reading update down the hierarchy and forward through each
DeployedMeter's meter reading history.
|
boolean |
getIsWOMeterProcess()
gets the yes/no flag that tells whether this DeployedMeter has been instanciated
while processing a
WOMeter reading. |
MboRemote |
getMeterReadingForKnownDate(java.util.Date dt)
returns Reading object for date provided
|
MboRemote |
getNextMeterReading(java.util.Date followingDate) |
protected double |
getNumerator()
Gets the numerator.
|
Mbo |
getOrigMRUpdate() |
MboRemote |
getPreviousMeterReading(java.util.Date previousToDate)
gets the meter reading (for a DeployedMeter whose meter is of type
CONTINUOUS) or measurement (for a DeployedMeter whose meter is of type
CHARACTERISTIC or GAUGE) that immediately precedes one of the following:
meter reading/measurement being entered or updated for the DeployedMeter if meterreading activity is taking place current date/time, to get the last, that is, most recent reading taken for the DeployedMeter. |
java.lang.String |
getReadingType()
returns the internal translation of the ReadingType value from the
READINGTYPE domain.
|
double |
getReadingValueAsDouble(java.util.Date dt)
gets numeric (that is, GAUGE or CHARACTERISTIC) reading for a particular date.
|
boolean |
getSkipAverageRefresh() |
protected boolean |
getSkipDateUniquenessCheck() |
boolean |
getSupressUniquenessErrorFlag()
returns the supressUniquenessError flag
|
MeterRemote |
getTheMeter() |
java.lang.String[] |
getValidateOrder()
Validation Order for DeployedMeter attributes.
|
protected void |
handleAssetMeterLocMeterForWOEnterMeterReading() |
protected boolean |
hasDeployedMeterApprReadingDeletion()
used by Reading object to determine whether this owning
DeployedMeter object has determined that it is OK to
delete the owner's ReadingSet.
|
void |
init()
initialization routine for this object.
|
boolean |
isCurrentlyBeingAddedOnMeterGroupChange() |
protected boolean |
isEnteringReplacementReading()
is reading for this DeployedMeter a reset of the meter due to meter
replacement?
|
protected void |
isMeterReadingDateUnique()
makes sure that a reading has not already been entered for the exact same reading date
to the millisecond.
|
boolean |
isNegativeAdjustment() |
boolean |
isReadingMostRecentReading(java.util.Date readingDate)
determines whether this DeployedMeter's LastReading and LastReadingDate attributes
need to be updated.
|
void |
maintainWOMeter(MboRemote reading)
adds a new WOMeter and sets the measurementid, meterreadingid or locmeterreadingid
depending what kind of MBO the measurement/reading is, that is, Measurement, MeterReading or
LocMeterReading.
|
void |
meterInGroupToDeployedMeter(MeterInGroupRemote meter,
boolean supressUniquenessError)
sets meter-specific attributes for this DeployedMeter object from the passed in meter
|
void |
meterInGroupToDeployedMeter(MeterInGroupRemote meter,
boolean supressUniquenessError,
boolean supressDupSeqNumWarning)
sets meter-specific attributes for this DeployedMeter object from the passed in meter
|
void |
modify()
called whenever a field is modified to update the changedate and changeby attributes
|
boolean |
pmForecastExistsForMeterOnPM()
Determines if this asset meter is used on a PM that has a forecast.
|
protected abstract void |
processContinuousReadings()
processes the new or adjusted reading for the DeployedMeter
|
void |
processNonContinuousReadings()
adds a new measurement for a
meter of type
GAUGE or CHARACTERISTIC |
protected void |
refreshAverage() |
void |
refreshPreviousReadingInfo(java.util.Date previousToDate)
gets the previous meter reading and uses it to set the following
non-persistent attributes:
PreviousReading
PreviousReadingDate
PreviousReadingInspector
|
void |
resetMeter()
resets the following DeployedMeter attributes:
SINCELASTREPAIR
SINCELASTOVERHAUL
SINCELASTINSPECT
SINCEINSTALL
ROLLOVER
|
java.lang.Object[] |
returnDeploymentInfo()
returns key value and meter reading table name information for the DeployedMeter's
instanciated subclass, for example, an AssetMeter ("assetnum" and "meterreading")
or LocationMeter ("location" and "locmeterreading").
|
MboRemote |
returnReadingForWOMeterProcessing()
returns reading to use for creation of a
WOMeter
when processing a WOMeter. |
protected void |
rolloverIsInProgress()
controls the MXApplicationYesNoCancelException used
to get user input re: whether or not a rollover is occurring;
sets DoRollover attribute to be true when a reading for this
DeployedMeter is being processed as a rollover
|
void |
save()
begins the process of entering a new meterreading object and/or rolling
updates to an existing meterreading object down the hierarchy to LocationMeters
that belong to children asset of this LocationMeter's asset and forward
to other subsequent readings already recorded for this LocationMeter.
|
void |
setAdjustmentIsNegative(boolean adjustmentIsNegative) |
void |
setCurrentlyBeingAddedOnMeterGroupChange(boolean currentlyBeingAddedOnMeterGroupChange) |
void |
setIsReadingUpdate(boolean isUpdate)
sets to true the yes/no flag that tells whether this DeployedMeter been instanciated
while rolling a reading update down the hierarchy and forward through each DeployedMeter's
meter reading history.
|
void |
setOrigMRUpdate(Mbo origMRUpdate)
sets origMRUpdate with the meter reading whose update
began 'Update Meter History' processing
|
void |
setPreviousReadingInfoOnInit() |
void |
setSkipAverageRefresh(boolean actReadInUpdateRangeAfterNewRead) |
protected void |
setSkipDateUniquenessCheck(boolean skipDateUniquenessCheck) |
void |
setTypeSpecificFlags()
sets meter type-specific field flags
|
void |
undelete()
Unmark the Mbo for deletion.
|
void |
validateALNEnteredDecimalValue(java.lang.String readingAttribute) |
protected void |
validateReading(MboRemote readingMbo)
validates readings for DeployedMeter.NewReading and
Reading.ModifiedReading
|
addMboSetForRequiredCheck, addToDeleteForInsertList, andEvaluateConditions, blindCopy, checkFieldAccess, checkMethodAccess, checkMethodAccess, checkQualifiedRestriction, checkRecordLock, checkSiteOrgAccessForSave, clear, clearRelatedSets, clearRelatedSets, commit, copy, copy, copy, copyFake, copyValue, copyValue, createComm, delete, deleteDoclinks, determineRequiredFieldsFromERM, duplicate, enableMethod, evaluateCondition, evaluateCondition, evaluateCtrlConditions, evaluateCtrlConditions, evaluateRestriction, excludeObjectForPropagate, findAllNullRequiredFields, fireEvent, generateAutoKey, generateContentUID, getAlwaysFlags, getAttrRestrictionFlag, getAttrRestrictions, getBoolean, getByte, getBytes, getCheckpoint, getClientLocale, getClientTimeZone, getCommLogOwnerNameAndUniqueId, getCondition, getDatabaseValue, getDate, getDeleteForInsertList, getDocLinksCount, getDomainFilterWhere, getDomainIDs, getDouble, getESId, getExistingMboSet, getFetchIndex, getFieldExceptions, getFlags, getFloat, getIgnoreLockCheck, getInitialValue, getInsertCompanySetId, getInsertItemSetId, getInsertOrganization, getInsertOrgForSite, getInsertSite, getInstanciatedMboSet, getInstanciatedMboValue, getInt, getIntegrationService, getKeyValue, getLanguageRecordRowStamp, getLinesRelationship, getList, getLockedByDisplayName, getLockedByUserID, getLong, getMatchingAttr, getMatchingAttr, getMatchingAttrs, getMaxMessage, getMboCtx, getMboData, getMboDataSet, getMboForAttribute, getMboForAttributeStatic, getMboInitialValue, getMboList, getMboLogger, getMboRecordData, getMboServer, getMboSet, getMboSet, getMboSet, getMboSetInfo, getMboSetInfo, getMboValue, getMboValueData, getMboValueData, getMboValueData, getMboValueDataForDownload, getMboValueInfoStatic, getMboValueInfoStatic, getMessage, getMessage, getMessage, getMessage, getMXTransaction, getName, getOrgForGL, getOrgSiteForMaxvar, getOwner, getProfile, getPropagateKeyFlag, getProxy, getRecordIdentifer, getRecordMboName, getRecordType, getRelatedSets, getRelatedWhere, getRelatedWhere, getRelationshipNameToLangTable, getResourceName, getRowRestrictionFlag, getRowStamp, getRowStampObject, getSecurityLogger, getSiteOrg, getSqlLogger, getString, getString, getStringInBaseLanguage, getStringInSpecificLocale, getStringTransparent, getSynonymValueWhere, getTenantId, getTenantIdForNoMboRecordData, getThisMboSet, getTranslator, getUniqueIdentifer, getUniqueIDName, getUniqueIDValue, getUniqueLanguageIDRecord, getUserInfo, getUserName, hasFieldAccess, hasHierarchyLink, hasLockSaveRights, hasRelatedQbe, hasUniqueID, initFieldFlagsOnMbo, initRelationship, isApiBatchError, isAppLockEnabled, isAutoKeyed, isBasedOn, isChangeByUserWhenSetFromLookup, isDuringInit, isEAuditFieldModified, isESigFieldModified, isFlagSet, isForDM, isLocked, isLocked, isLockedByMe, isMasterTenant, isMboLockedByMe, isModified, isModified, isNew, isNoSql, isNull, isOptionGranted, isSelected, isSkipCopyField, isValid, isZombie, lock, moveFieldFlagsToMboValue, needCallInitFieldFlag, orEvaluateConditions, propagateKeyValue, removeCtx, removeRelatedSet, resolveNoSqlWhere, rollbackToCheckpoint, select, setAppDefaultValue, setApplicationError, setApplicationRequired, setAutokeyFields, setCopyDefaults, setDatabaseDefaultValues, setDatabaseDefaultValues, setDefaultValue, setDefaultValues, setDeleted, setDuringInit, setEAuditFieldModified, setESId, setESigFieldModified, setFetchIndex, setFieldFlag, setFieldFlag, setFieldFlag, setFieldFlag, setFieldFlag, setFieldFlag, setFieldFlags, setFlag, setFlag, setFlags, setForDM, setHierarchyLink, setIgnoreRecordLockCheck, setLangCodeDefault, setMboCtx, setMLValue, setModified, setModifiedForIntegrationOnly, setNewMbo, setNoSql, setPropagateKeyFlag, setPropagateKeyFlag, setProxy, setReadonlyWhenParentIsReadonly, setRecordType, setReferencedMbo, setReferencedMbo, setResolveNoSqlWhere, setResourceName, setTenantIdForNoMboRecordData, setUniqueIDValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValueFromSequence, setValueNull, setValueNull, sigopGranted, sigopGranted, sigopGranted, sigopGranted, sigOptionAccessAuthorized, skipCopyField, smartFill, smartFind, smartFind, smartFind, smartFindByObjectName, smartFindByObjectName, smartFindByObjectNameDirect, startCheckpoint, thisToBeUpdated, throwRequiredException, toBeAdded, toBeDeleted, toBeSaved, toBeUpdated, toBeValidated, undeleteDoclinks, unlock, unselect, useDataSecurity, validate, validateAttributes, validateKeyUniqueness, valueChangedclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaddMboSetForRequiredCheck, addToDeleteForInsertList, blindCopy, checkMethodAccess, clear, copy, copy, copy, copyFake, copyValue, copyValue, createComm, delete, duplicate, evaluateCondition, evaluateCtrlConditions, evaluateCtrlConditions, excludeObjectForPropagate, generateAutoKey, getBoolean, getByte, getBytes, getCommLogOwnerNameAndUniqueId, getDatabaseValue, getDate, getDeleteForInsertList, getDocLinksCount, getDomainIDs, getDouble, getExistingMboSet, getFlags, getFloat, getIgnoreLockCheck, getInitialValue, getInsertCompanySetId, getInsertItemSetId, getInsertOrganization, getInsertSite, getInt, getKeyValue, getLinesRelationship, getList, getLockedByDisplayName, getLong, getMatchingAttr, getMatchingAttr, getMatchingAttrs, getMaxMessage, getMboData, getMboDataSet, getMboInitialValue, getMboList, getMboSet, getMboSet, getMboSet, getMboValueData, getMboValueData, getMboValueData, getMboValueDataForDownload, getMboValueInfoStatic, getMboValueInfoStatic, getMessage, getMessage, getMessage, getMessage, getMXTransaction, getName, getOrgForGL, getOrgSiteForMaxvar, getOwner, getPropagateKeyFlag, getRecordIdentifer, getSiteOrg, getString, getString, getStringInBaseLanguage, getStringInSpecificLocale, getStringTransparent, getThisMboSet, getUniqueIDName, getUniqueIDValue, getUserInfo, getUserName, hasHierarchyLink, hasLockSaveRights, isAutoKeyed, isBasedOn, isFlagSet, isForDM, isLocked, isLocked, isMasterTenant, isMboLockedByMe, isModified, isModified, isNew, isNull, isOptionGranted, isSelected, isZombie, lock, propagateKeyValue, rollbackToCheckpoint, select, setApplicationError, setApplicationRequired, setAutokeyFields, setCopyDefaults, setDeleted, setESigFieldModified, setFieldFlag, setFieldFlag, setFieldFlag, setFieldFlag, setFieldFlag, setFieldFlag, setFieldFlags, setFlag, setFlag, setFlags, setForDM, setIgnoreRecordLockCheck, setMLValue, setModified, setNewMbo, setPropagateKeyFlag, setPropagateKeyFlag, setReferencedMbo, setReferencedMbo, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValueNull, setValueNull, sigopGranted, sigopGranted, sigopGranted, sigOptionAccessAuthorized, smartFill, smartFind, smartFind, smartFind, smartFindByObjectName, smartFindByObjectName, smartFindByObjectNameDirect, startCheckpoint, thisToBeUpdated, toBeAdded, toBeDeleted, toBeSaved, toBeUpdated, toBeValidated, unlock, unselect, validate, validateAttributesprotected boolean isReadingUpdate
protected Mbo origMRUpdate
protected java.lang.String deployKey
AssetMeter would
be "assetnum".protected java.lang.String readingTable
AssetMeter
would be "MeterReading".protected java.lang.String avgCalcKey
AssetMeter
is "assetid", and the average calculation key for
LocationMeter is "location".protected java.lang.String coreAvgCalcSql
protected MboRemote newMeterReading
protected boolean isWOMeterProcess
protected MboRemote woForWOMeter
protected java.lang.String woMeter_IdAttribute
protected boolean supressUniquenessError
MeterInGroup via the
PropagateMeterGroupMod functionality, or if DeployedMeter is being added as a result of the
DeployedMeter's parent's GroupName attribute being modified, this flag is used by
MeterService's meterUniqueToSet() method
to supress the system's duplicatekey error. This flag is set to true in
meterInGroupToAssetMeter(MeterInGroupRemote meter,boolean supressUniquenessError).
If true, error will not be thrown if a duplicate DeployedMeter
addition is attempted. Instead, it will be quietly removed from the set of DeployedMeters
to be added.protected java.util.Hashtable modifiedReadings
FldMeterReadingDelta and
in FldReadingMeterReading.protected MboRemote earliestModifiedReading
DeployedMeter.addModifiedReadingsForAvgCalc(MboRemote) is called, if the added reading
has an earlier readingdate than the current earliestModifiedReading, that new reading becomes the new earliestModifiedReading.
The new reading is still added to the modifiedReadings hashtable.protected boolean enteringReplacementReading
protected java.lang.String app
DeployedMeter.getApp()public DeployedMeter(MboSet ms) throws MXException, java.rmi.RemoteException
MXExceptionjava.rmi.RemoteExceptionpublic boolean isNegativeAdjustment()
isNegativeAdjustment in interface DeployedMeterRemotepublic void setAdjustmentIsNegative(boolean adjustmentIsNegative)
setAdjustmentIsNegative in interface DeployedMeterRemotepublic void modify()
throws MXException,
java.rmi.RemoteException
modify in class MboMXExceptionjava.rmi.RemoteExceptionpublic void addModifiedReadingsForAvgCalc(MboRemote reading) throws MXException, java.rmi.RemoteException
addModifiedReadingsForAvgCalc in interface DeployedMeterRemoterollId - key for a new entry in the adjustedDeltas hashtable.value - adjusted delta value for a new entry in the adjustedDeltas hashtable.MXExceptionjava.rmi.RemoteExceptionDeployedMeter.addModifiedReadingsForAvgCalc(MboRemote reading)protected void rolloverIsInProgress()
throws MXException,
java.rmi.RemoteException
MXApplicationYesNoCancelException("DeployedMeter.rolloverIsInProgress()","meter","didRollOver") - when there is no user input registered to the Bulletin Board for this exceptionMXExceptionjava.rmi.RemoteExceptionDeployedMeter.appValidate(),
Reading.appValidate()protected boolean isEnteringReplacementReading()
throws MXException,
java.rmi.RemoteException
MXExceptionjava.rmi.RemoteExceptionReading.add()public Mbo getOrigMRUpdate() throws MXException, java.rmi.RemoteException
getOrigMRUpdate in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionDeployedMeter.getOrigMRUpdate()public void setOrigMRUpdate(Mbo origMRUpdate) throws MXException, java.rmi.RemoteException
setOrigMRUpdate in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionpsdi.app.asset.MeterReading.save(),
psdi.app.location.LocMeterReading.save()public java.lang.Object[] returnDeploymentInfo()
throws MXException,
java.rmi.RemoteException
returnDeploymentInfo in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionDeployedMeter.getDeploymentInfo()public boolean isReadingMostRecentReading(java.util.Date readingDate)
throws MXException,
java.rmi.RemoteException
isReadingMostRecentReading in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionDeployedMeter.isReadingMostRecentReading(Date readingDate)public void setIsReadingUpdate(boolean isUpdate)
throws MXException,
java.rmi.RemoteException
setIsReadingUpdate in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionDeployedMeter.setIsReadingUpdate(boolean isUpdate)public boolean getIsReadingUpdate()
throws MXException,
java.rmi.RemoteException
getIsReadingUpdate in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionDeployedMeter.getIsReadingUpdate()public boolean getIsWOMeterProcess()
throws MXException,
java.rmi.RemoteException
WOMeter reading.getIsWOMeterProcess in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionDeployedMeter.getIsWOMeterProcess()public boolean getSupressUniquenessErrorFlag()
throws MXException,
java.rmi.RemoteException
getSupressUniquenessErrorFlag in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionMeterService's meterUniqueToSet(),
meterInGroupToAssetMeter(MeterInGroupRemote meter,boolean supressUniquenessError).protected void validateReading(MboRemote readingMbo) throws MXException, java.rmi.RemoteException
readingMbo - MXApplicationException("meter","bePositive") - when a negative value is entered.MXApplicationException("meter","cantExceedRollover") - when a reading exceeds the rollover value.MXApplicationException("meter","lowReading") - when a reading is less than the previous reading
and it is neither a delta reading nor a
rolled over reading.MXExceptionjava.rmi.RemoteExceptionpublic MboRemote getNextMeterReading(java.util.Date followingDate) throws MXException, java.rmi.RemoteException
MXExceptionjava.rmi.RemoteExceptionpublic void add()
throws MXException,
java.rmi.RemoteException
add in interface MboRemoteadd in class MboMXExceptionjava.rmi.RemoteExceptionprotected boolean hasDeployedMeterApprReadingDeletion()
throws MXException,
java.rmi.RemoteException
MXExceptionjava.rmi.RemoteExceptionReading.canDelete()public void canDelete()
throws MXException,
java.rmi.RemoteException
canDelete in class MboMXApplicationException - ("meter","existsintable") when referenced by another object.MXExceptionjava.rmi.RemoteExceptionpublic boolean canDeleteForecast(java.lang.String message)
throws MXException,
java.rmi.RemoteException
MXExceptionjava.rmi.RemoteExceptionpublic void delete(long accessModifier)
throws MXException,
java.rmi.RemoteException
Mbodelete in interface MboRemotedelete in class MboaccessModifier - The bitwise flag specified to determine
if certain normal security checks are to be
bypassed for this delete request.
For example:
if the accessModifer is NOACCESSCHECK, then the
check for the object's NODELETE flag and the
call to the object's canDelete() method
will not be performed.
If the accessModifer is NONE, then all the
access checks are performed before this object
is marked delete.MXExceptionjava.rmi.RemoteExceptionMbo.delete(long)public void undelete()
throws MXException,
java.rmi.RemoteException
Mboundelete in interface MboRemoteundelete in class MboMXExceptionjava.rmi.RemoteExceptionpublic void meterInGroupToDeployedMeter(MeterInGroupRemote meter, boolean supressUniquenessError) throws MXException, java.rmi.RemoteException
meterInGroupToDeployedMeter in interface DeployedMeterRemotemeter - MeterInGroupRemote object used to set meter-specific attributessupressUniquenessError - if DeployedMeter is being added from MeterInGroup via the
PropagateMeterGroupMod functionality, or if DeployedMeter is being added as a result
of the DeployedMeter's parent's GroupName attribute getting a value, supress the system's duplicatekey
errorMXExceptionjava.rmi.RemoteExceptionDeployedMeter.meterInGroupToDeployedMeter(MeterInGroupRemote meter,boolean supressUniquenessError)public boolean isCurrentlyBeingAddedOnMeterGroupChange()
throws MXException,
java.rmi.RemoteException
isCurrentlyBeingAddedOnMeterGroupChange in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionDeployedMeter.isCurrentlyBeingAddedOnMeterGroupChange()public void setCurrentlyBeingAddedOnMeterGroupChange(boolean currentlyBeingAddedOnMeterGroupChange)
throws MXException,
java.rmi.RemoteException
setCurrentlyBeingAddedOnMeterGroupChange in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionDeployedMeter.setCurrentlyBeingAddedOnMeterGroupChange(boolean currentlyBeingAddedOnMeterGroupChange)public void meterInGroupToDeployedMeter(MeterInGroupRemote meter, boolean supressUniquenessError, boolean supressDupSeqNumWarning) throws MXException, java.rmi.RemoteException
meterInGroupToDeployedMeter in interface DeployedMeterRemotemeter - MeterInGroupRemote object used to set meter-specific attributessupressUniquenessError - if DeployedMeter is being added from MeterInGroup via the
PropagateMeterGroupMod functionality, or if DeployedMeter is being added as a result
of the DeployedMeter's parent's GroupName attribute getting a value, supress the system's duplicatekey
errorsupressDupSeqNumWarning - user has chosen to add a new meter to a group with a duplicate sequence. Assume that it is OK to
duplicate the sequence number on assets and locations that have this meter group.MXExceptionjava.rmi.RemoteExceptionDeployedMeter.meterInGroupToDeployedMeter(MeterInGroupRemote meter,boolean supressUniquenessError,boolean supressDupSeqNumWarning)public void init()
throws MXException
init in class MboMXExceptionpublic java.lang.String getAvgCalcMethod()
throws MXException,
java.rmi.RemoteException
getAvgCalcMethod in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionDeployedMeter.getAvgCalcMethod()public java.lang.String getReadingType()
throws MXException,
java.rmi.RemoteException
getReadingType in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionDeployedMeter.getReadingType()public MeterRemote getTheMeter() throws MXException, java.rmi.RemoteException
getTheMeter in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionpsdi.app.meter.DeployedMeter#isAReadingUpdate()protected abstract java.lang.Object[] getDeploymentInfo()
throws MXException,
java.rmi.RemoteException
MXExceptionjava.rmi.RemoteExceptionDeployedMeter.init(),
getReadings()protected abstract void processContinuousReadings()
throws MXException,
java.rmi.RemoteException
MXExceptionjava.rmi.RemoteExceptionprotected void refreshAverage()
throws MXException,
java.rmi.RemoteException
MXExceptionjava.rmi.RemoteExceptionpublic void setSkipAverageRefresh(boolean actReadInUpdateRangeAfterNewRead)
throws MXException,
java.rmi.RemoteException
setSkipAverageRefresh in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionDeployedMeter.setSkipAverageRefresh(boolean)public boolean getSkipAverageRefresh()
throws MXException,
java.rmi.RemoteException
getSkipAverageRefresh in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionDeployedMeter.getSkipAverageRefresh()public void setTypeSpecificFlags()
throws MXException,
java.rmi.RemoteException
setTypeSpecificFlags in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptioninit,
FldAssetMeterMeterName,
FldAssetMeterAvgCalcMethodpublic void enableDisable()
throws MXException,
java.rmi.RemoteException
enableDisable in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionDeployedMeter.checkEnterHistoryReadingAuth(),
DeployedMeter.checkEnterNewReadingAuth(),
DeployedMeter.init(),
FldDeployedMeterActive.action()public void refreshPreviousReadingInfo(java.util.Date previousToDate)
throws MXException,
java.rmi.RemoteException
Also, if NewReadingDate has been set, then method checks to see if the new reading is a new historic reading.
refreshPreviousReadingInfo in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionDeployedMeter.refreshPreviousReadingInfo(Date)public MboRemote getPreviousMeterReading(java.util.Date previousToDate) throws MXException, java.rmi.RemoteException
getPreviousMeterReading in interface DeployedMeterRemotepreviousToDate - date used to find the previous reading (that is,the reading that is older
than but closest to the date)MXExceptionjava.rmi.RemoteExceptionDeployedMeter.refreshPreviousReadingInfo(Date previousToDate)public double getReadingValueAsDouble(java.util.Date dt)
throws MXException,
java.rmi.RemoteException
getReadingValueAsDouble in interface DeployedMeterRemotedt - MXExceptionjava.rmi.RemoteExceptionDeployedMeter.getReadingValueAsDouble(Date)public MboRemote getMeterReadingForKnownDate(java.util.Date dt) throws MXException, java.rmi.RemoteException
getMeterReadingForKnownDate in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionDeployedMeter.getMeterReadingForKnownDate(Date)protected void setSkipDateUniquenessCheck(boolean skipDateUniquenessCheck)
throws MXException,
java.rmi.RemoteException
MXExceptionjava.rmi.RemoteException- sets
skipDateUniquenessCheck to true after setting NewReadingDate
to the server date.,
- sets
skipDateUniquenessCheck to false after
{@link psdi.app.meter.DeployedMeter#isMeterReadingDateUnique()
psdi.app.meter.DeployedMeter.isMeterReadingDateUnique()
has been skipped},
DeployedMeter.getSkipDateUniquenessCheck(),
DeployedMeter.isMeterReadingDateUnique()protected boolean getSkipDateUniquenessCheck()
throws MXException,
java.rmi.RemoteException
MXExceptionjava.rmi.RemoteExceptionprotected void isMeterReadingDateUnique()
throws MXException,
java.rmi.RemoteException
MXApplicationException("meter","duplicateReadingDate",param) - when duplicate dates
are provided for continuous meter readings.MXApplicationException("meter","duplicateMeasurementDate",param) - when duplicate
dates are provided for gauge or characteristic meter readings.MXExceptionjava.rmi.RemoteExceptionpublic void setPreviousReadingInfoOnInit()
throws MXException,
java.rmi.RemoteException
MXExceptionjava.rmi.RemoteExceptionpublic java.lang.String[] getValidateOrder()
getValidateOrder in class Mbopublic void appValidate()
throws MXException,
java.rmi.RemoteException
appValidate in class MboMXApplicationException - ("asset", "multiplier_null")MXApplicationException - ("asset", "value_null")MXExceptionjava.rmi.RemoteExceptionpublic void processNonContinuousReadings()
throws MXException,
java.rmi.RemoteException
meter of type
GAUGE or CHARACTERISTICprocessNonContinuousReadings in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionDeployedMeter.addMeasurement(),
AssetMeter.save(),
LocationMeter.save(),
LocationMeter.save(),
FldWOMeasurementValue.action(),
FldWOMeasureDate.action(),
FldWOPointNum.action()public MboRemote addReading() throws MXException, java.rmi.RemoteException
addReading in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionDeployedMeter.addReading()public void maintainWOMeter(MboRemote reading) throws MXException, java.rmi.RemoteException
maintainWOMeter in interface DeployedMeterRemotereading - measurement/reading that is the basis for the new WOMeterMXExceptionjava.rmi.RemoteExceptionDeployedMeter.maintainWOMeter(MboRemote reading)public MboRemote returnReadingForWOMeterProcessing() throws MXException, java.rmi.RemoteException
WOMeter
when processing a WOMeter. This reading will be a Measurement if the
meter is of type GAUGE or CHARACTERISTIC. This
reading will be a MeterReading (for an AssetMeter) or a LocMeterReading
(for a LocationMeter) if the meter is of type
CONTINUOUS. If the measurement/reading has already been added, the reading
is not added again. Only a WOMeter is created based on the already-entered
reading. If the measurement/reading has not already been added, then this will
return null and a new Measurement, MeterReading or LocMeterReading will be added
before adding the new WOMeter.returnReadingForWOMeterProcessing in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionAssetMeter.save(),
LocationMeter.save()public void resetMeter()
throws MXException,
java.rmi.RemoteException
resetMeter in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionDeployedMeter.resetMeter()protected void handleAssetMeterLocMeterForWOEnterMeterReading()
throws MXException,
java.rmi.RemoteException
MXExceptionjava.rmi.RemoteExceptionpublic void save()
throws MXException,
java.rmi.RemoteException
save in class MboMXExceptionjava.rmi.RemoteExceptionenterNewReading,
updateCumulativespublic boolean enterReadingOnMaterialIssue()
throws MXException,
java.rmi.RemoteException
enterReadingOnMaterialIssue in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionDeployedMeter.enterReadingOnMaterialIssue()public void validateALNEnteredDecimalValue(java.lang.String readingAttribute)
throws MXException,
java.rmi.RemoteException
MXExceptionjava.rmi.RemoteExceptionprotected double getNumerator()
throws MXException,
java.rmi.RemoteException
MXException - the mX exceptionjava.rmi.RemoteException - the remote exceptionprotected double getDenominator(java.util.Date earliest,
java.util.Date recent)
throws MXException,
java.rmi.RemoteException
earliest - the earliest daterecent - the recent dateMXException - the mX exceptionjava.rmi.RemoteException - the remote exceptionpublic boolean pmForecastExistsForMeterOnPM()
throws MXException,
java.rmi.RemoteException
MXExceptionjava.rmi.RemoteException