public abstract class DeployedMeter extends Mbo implements DeployedMeterRemote
AssetMeter
and
LocationMeter
, referred to
herein generically as DeployedMeterModifier 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, phantomQueue
ALLROWS, 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, valueChanged
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addMboSetForRequiredCheck, 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, validateAttributes
protected 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
MXException
java.rmi.RemoteException
public boolean isNegativeAdjustment()
isNegativeAdjustment
in interface DeployedMeterRemote
public void setAdjustmentIsNegative(boolean adjustmentIsNegative)
setAdjustmentIsNegative
in interface DeployedMeterRemote
public void modify() throws MXException, java.rmi.RemoteException
modify
in class Mbo
MXException
java.rmi.RemoteException
public void addModifiedReadingsForAvgCalc(MboRemote reading) throws MXException, java.rmi.RemoteException
addModifiedReadingsForAvgCalc
in interface DeployedMeterRemote
rollId
- key for a new entry in the adjustedDeltas hashtable.value
- adjusted delta value for a new entry in the adjustedDeltas hashtable.MXException
java.rmi.RemoteException
DeployedMeter.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 exceptionMXException
java.rmi.RemoteException
DeployedMeter.appValidate()
,
Reading.appValidate()
protected boolean isEnteringReplacementReading() throws MXException, java.rmi.RemoteException
MXException
java.rmi.RemoteException
Reading.add()
public Mbo getOrigMRUpdate() throws MXException, java.rmi.RemoteException
getOrigMRUpdate
in interface DeployedMeterRemote
MXException
java.rmi.RemoteException
DeployedMeter.getOrigMRUpdate()
public void setOrigMRUpdate(Mbo origMRUpdate) throws MXException, java.rmi.RemoteException
setOrigMRUpdate
in interface DeployedMeterRemote
MXException
java.rmi.RemoteException
psdi.app.asset.MeterReading.save()
,
psdi.app.location.LocMeterReading.save()
public java.lang.Object[] returnDeploymentInfo() throws MXException, java.rmi.RemoteException
returnDeploymentInfo
in interface DeployedMeterRemote
MXException
java.rmi.RemoteException
DeployedMeter.getDeploymentInfo()
public boolean isReadingMostRecentReading(java.util.Date readingDate) throws MXException, java.rmi.RemoteException
isReadingMostRecentReading
in interface DeployedMeterRemote
MXException
java.rmi.RemoteException
DeployedMeter.isReadingMostRecentReading(Date readingDate)
public void setIsReadingUpdate(boolean isUpdate) throws MXException, java.rmi.RemoteException
setIsReadingUpdate
in interface DeployedMeterRemote
MXException
java.rmi.RemoteException
DeployedMeter.setIsReadingUpdate(boolean isUpdate)
public boolean getIsReadingUpdate() throws MXException, java.rmi.RemoteException
getIsReadingUpdate
in interface DeployedMeterRemote
MXException
java.rmi.RemoteException
DeployedMeter.getIsReadingUpdate()
public boolean getIsWOMeterProcess() throws MXException, java.rmi.RemoteException
WOMeter
reading.getIsWOMeterProcess
in interface DeployedMeterRemote
MXException
java.rmi.RemoteException
DeployedMeter.getIsWOMeterProcess()
public boolean getSupressUniquenessErrorFlag() throws MXException, java.rmi.RemoteException
getSupressUniquenessErrorFlag
in interface DeployedMeterRemote
MXException
java.rmi.RemoteException
MeterService'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.MXException
java.rmi.RemoteException
public MboRemote getNextMeterReading(java.util.Date followingDate) throws MXException, java.rmi.RemoteException
MXException
java.rmi.RemoteException
public void add() throws MXException, java.rmi.RemoteException
add
in interface MboRemote
add
in class Mbo
MXException
java.rmi.RemoteException
protected boolean hasDeployedMeterApprReadingDeletion() throws MXException, java.rmi.RemoteException
MXException
java.rmi.RemoteException
Reading.canDelete()
public void canDelete() throws MXException, java.rmi.RemoteException
canDelete
in class Mbo
MXApplicationException
- ("meter","existsintable") when referenced by another object.MXException
java.rmi.RemoteException
public boolean canDeleteForecast(java.lang.String message) throws MXException, java.rmi.RemoteException
MXException
java.rmi.RemoteException
public void delete(long accessModifier) throws MXException, java.rmi.RemoteException
Mbo
delete
in interface MboRemote
delete
in class Mbo
accessModifier
- 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.MXException
java.rmi.RemoteException
Mbo.delete(long)
public void undelete() throws MXException, java.rmi.RemoteException
Mbo
undelete
in interface MboRemote
undelete
in class Mbo
MXException
java.rmi.RemoteException
public void meterInGroupToDeployedMeter(MeterInGroupRemote meter, boolean supressUniquenessError) throws MXException, java.rmi.RemoteException
meterInGroupToDeployedMeter
in interface DeployedMeterRemote
meter
- 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
errorMXException
java.rmi.RemoteException
DeployedMeter.meterInGroupToDeployedMeter(MeterInGroupRemote meter,boolean supressUniquenessError)
public boolean isCurrentlyBeingAddedOnMeterGroupChange() throws MXException, java.rmi.RemoteException
isCurrentlyBeingAddedOnMeterGroupChange
in interface DeployedMeterRemote
MXException
java.rmi.RemoteException
DeployedMeter.isCurrentlyBeingAddedOnMeterGroupChange()
public void setCurrentlyBeingAddedOnMeterGroupChange(boolean currentlyBeingAddedOnMeterGroupChange) throws MXException, java.rmi.RemoteException
setCurrentlyBeingAddedOnMeterGroupChange
in interface DeployedMeterRemote
MXException
java.rmi.RemoteException
DeployedMeter.setCurrentlyBeingAddedOnMeterGroupChange(boolean currentlyBeingAddedOnMeterGroupChange)
public void meterInGroupToDeployedMeter(MeterInGroupRemote meter, boolean supressUniquenessError, boolean supressDupSeqNumWarning) throws MXException, java.rmi.RemoteException
meterInGroupToDeployedMeter
in interface DeployedMeterRemote
meter
- 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.MXException
java.rmi.RemoteException
DeployedMeter.meterInGroupToDeployedMeter(MeterInGroupRemote meter,boolean supressUniquenessError,boolean supressDupSeqNumWarning)
public void init() throws MXException
init
in class Mbo
MXException
public java.lang.String getAvgCalcMethod() throws MXException, java.rmi.RemoteException
getAvgCalcMethod
in interface DeployedMeterRemote
MXException
java.rmi.RemoteException
DeployedMeter.getAvgCalcMethod()
public java.lang.String getReadingType() throws MXException, java.rmi.RemoteException
getReadingType
in interface DeployedMeterRemote
MXException
java.rmi.RemoteException
DeployedMeter.getReadingType()
public MeterRemote getTheMeter() throws MXException, java.rmi.RemoteException
getTheMeter
in interface DeployedMeterRemote
MXException
java.rmi.RemoteException
psdi.app.meter.DeployedMeter#isAReadingUpdate()
protected abstract java.lang.Object[] getDeploymentInfo() throws MXException, java.rmi.RemoteException
MXException
java.rmi.RemoteException
DeployedMeter.init()
,
getReadings()
protected abstract void processContinuousReadings() throws MXException, java.rmi.RemoteException
MXException
java.rmi.RemoteException
protected void refreshAverage() throws MXException, java.rmi.RemoteException
MXException
java.rmi.RemoteException
public void setSkipAverageRefresh(boolean actReadInUpdateRangeAfterNewRead) throws MXException, java.rmi.RemoteException
setSkipAverageRefresh
in interface DeployedMeterRemote
MXException
java.rmi.RemoteException
DeployedMeter.setSkipAverageRefresh(boolean)
public boolean getSkipAverageRefresh() throws MXException, java.rmi.RemoteException
getSkipAverageRefresh
in interface DeployedMeterRemote
MXException
java.rmi.RemoteException
DeployedMeter.getSkipAverageRefresh()
public void setTypeSpecificFlags() throws MXException, java.rmi.RemoteException
setTypeSpecificFlags
in interface DeployedMeterRemote
MXException
java.rmi.RemoteException
init
,
FldAssetMeterMeterName
,
FldAssetMeterAvgCalcMethod
public void enableDisable() throws MXException, java.rmi.RemoteException
enableDisable
in interface DeployedMeterRemote
MXException
java.rmi.RemoteException
DeployedMeter.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 DeployedMeterRemote
MXException
java.rmi.RemoteException
DeployedMeter.refreshPreviousReadingInfo(Date)
public MboRemote getPreviousMeterReading(java.util.Date previousToDate) throws MXException, java.rmi.RemoteException
getPreviousMeterReading
in interface DeployedMeterRemote
previousToDate
- date used to find the previous reading (that is,the reading that is older
than but closest to the date)MXException
java.rmi.RemoteException
DeployedMeter.refreshPreviousReadingInfo(Date previousToDate)
public double getReadingValueAsDouble(java.util.Date dt) throws MXException, java.rmi.RemoteException
getReadingValueAsDouble
in interface DeployedMeterRemote
dt
- MXException
java.rmi.RemoteException
DeployedMeter.getReadingValueAsDouble(Date)
public MboRemote getMeterReadingForKnownDate(java.util.Date dt) throws MXException, java.rmi.RemoteException
getMeterReadingForKnownDate
in interface DeployedMeterRemote
MXException
java.rmi.RemoteException
DeployedMeter.getMeterReadingForKnownDate(Date)
protected void setSkipDateUniquenessCheck(boolean skipDateUniquenessCheck) throws MXException, java.rmi.RemoteException
MXException
java.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
MXException
java.rmi.RemoteException
protected 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.MXException
java.rmi.RemoteException
public void setPreviousReadingInfoOnInit() throws MXException, java.rmi.RemoteException
MXException
java.rmi.RemoteException
public java.lang.String[] getValidateOrder()
getValidateOrder
in class Mbo
public void appValidate() throws MXException, java.rmi.RemoteException
appValidate
in class Mbo
MXApplicationException
- ("asset", "multiplier_null")MXApplicationException
- ("asset", "value_null")MXException
java.rmi.RemoteException
public void processNonContinuousReadings() throws MXException, java.rmi.RemoteException
meter of type
GAUGE or CHARACTERISTICprocessNonContinuousReadings
in interface DeployedMeterRemote
MXException
java.rmi.RemoteException
DeployedMeter.addMeasurement()
,
AssetMeter.save()
,
LocationMeter.save()
,
LocationMeter.save()
,
FldWOMeasurementValue.action()
,
FldWOMeasureDate.action()
,
FldWOPointNum.action()
public MboRemote addReading() throws MXException, java.rmi.RemoteException
addReading
in interface DeployedMeterRemote
MXException
java.rmi.RemoteException
DeployedMeter.addReading()
public void maintainWOMeter(MboRemote reading) throws MXException, java.rmi.RemoteException
maintainWOMeter
in interface DeployedMeterRemote
reading
- measurement/reading that is the basis for the new WOMeterMXException
java.rmi.RemoteException
DeployedMeter.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 DeployedMeterRemote
MXException
java.rmi.RemoteException
AssetMeter.save()
,
LocationMeter.save()
public void resetMeter() throws MXException, java.rmi.RemoteException
resetMeter
in interface DeployedMeterRemote
MXException
java.rmi.RemoteException
DeployedMeter.resetMeter()
protected void handleAssetMeterLocMeterForWOEnterMeterReading() throws MXException, java.rmi.RemoteException
MXException
java.rmi.RemoteException
public void save() throws MXException, java.rmi.RemoteException
save
in class Mbo
MXException
java.rmi.RemoteException
enterNewReading
,
updateCumulatives
public boolean enterReadingOnMaterialIssue() throws MXException, java.rmi.RemoteException
enterReadingOnMaterialIssue
in interface DeployedMeterRemote
MXException
java.rmi.RemoteException
DeployedMeter.enterReadingOnMaterialIssue()
public void validateALNEnteredDecimalValue(java.lang.String readingAttribute) throws MXException, java.rmi.RemoteException
MXException
java.rmi.RemoteException
protected 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
MXException
java.rmi.RemoteException