Class FileEnhancerNode
java.lang.Object
com.nt.udc.ndk.node.DCNode
com.nt.udc.ndk.node.ProcessorNode
com.nt.udc.ndk.node.CommonProcessorNode
com.nt.udc.ndk.node.GeneralNPLProcessorNode
com.nt.udc.ndk.node.NPLProcessorNode
com.nt.udc.processor.FileEnhancer.FileEnhancerNode
- All Implemented Interfaces:
AdminIfc
,ConfigIfc
,LoggerIfc
,NodeHealthIfc
,NodeStateManagementIfc
,PropertyIfc
,StateManagementIfc
- Direct Known Subclasses:
FtpFileEnhancerNode
,LDAPEnhancerNode
This Processor Node is the generic node for doing NPL based enhancements
with data stored in an external file. The data in the file must comply
to the UDC Look-up enhancer file format.
The Look-up enhancer file format is defined as:
key_value_separator = "="
pair_separator = "/n"
=
=
...
=
where the 1st and 2nd lines are optional. When either of the two
lines are omitted, the following defaults will be used:
key_value_separator = "="
pair_separator = "/n"
The node may either be constructed with a parameter of the file
(Actually it's not constructed with this, but gets it from the config)
from which to draw the data, or with a parameter of a LoaderIfc
which is responsible for providing the file the node will draw
the data from.
This node takes NARs as input, and writes NARs as output. It
mantains it's own internal mechanism for loading a table with
the look-up file data, and keeping it fresh. It then enhances
the NARs based on the rules in an NPL file, and the contents
of the look-up table.
-
Field Summary
FieldsFields inherited from class com.nt.udc.ndk.node.NPLProcessorNode
fileLevelTransaction, numThreads
Fields inherited from class com.nt.udc.ndk.node.ProcessorNode
fieldProcessor, fp, fpThread
Fields inherited from class com.nt.udc.ndk.node.DCNode
backupDir, config, configClass, configDir, configFile, configGUIClass, dcHandls, DEFAULT_PROCESSING_INTERVAL, fileMngr, generalMonitoringTimer, inputMonitoringAlarmRaised, inputMonitoringEnabled, inputMonitoringNARFileMgr, inputMonitoringPollingInterval, inputMonitoringPreviousCount, inputMonitoringSilenceCounter, inputMonitoringSilenceInterval, inputMonitoringSilenceIntervalText, KUBERNETES_POD_NAME, logDir, logger, majorType, node_pm, nodeid, NODEINIT, NODERECONFIG, nodeStartTime, nodeStateFileName, OCOMC_NODE_ID, OCOMC_POD_NAME, OCOMC_REPLICA_INDEX, OCOMC_STS_NAME, processingInterval, reconfiguring, savingStateOn, scratchDir, shutdown, stateManager, suspenseDir, TRANSACTION_NAR_ID, udcHome
Fields inherited from interface com.nt.udc.ndk.node.LoggerIfc
FC_CONFIGURATION, FC_CONNECTIVITY, FC_INITIALIZATION, FC_INTERNALERROR, FC_INVALIDDATA, FC_NODE_CONTROL, FC_RESOURCES, FC_SECURITY, FC_SERVER_CONTROL, FC_UNDEFINED, SF_CONF_CHANGE_ERROR, SF_CONF_CONFIG_FAIL, SF_CONF_ERR_NODE_CONF, SF_CONF_INV_FTP_CONF, SF_CONF_INV_NODE_CONF, SF_CONF_INV_PARAM, SF_CONF_INV_PARAM_VAL, SF_CONF_INV_REM_DIR, SF_CONF_MISSING_PARM, SF_CONF_MISSING_PARM2, SF_CONF_NM_CONF_ERROR, SF_CONF_NO_CONFIG, SF_CONF_NO_FTP_INT, SF_CONF_NODE_CREATION, SF_CONF_NODE_START, SF_CONF_NPL_CRITICAL, SF_CONF_NPL_ERROR, SF_CONF_READ_ERROR, SF_CONF_READ_PROPS, SF_CONF_SAVE_ERROR, SF_CONF_SOCKET_INIT, SF_CONF_VER_VALIDATION, SF_CONN_DB_CON_ERR, SF_CONN_DB_CON_LOST, SF_CONN_DEGRADED_ERR, SF_CONN_ECE_CON_ERR, SF_CONN_ERR_NODEINFO, SF_CONN_ERR_RCV_DATA, SF_CONN_ERR_SEND_ACK, SF_CONN_ERROR_TACHYON_USAGE, SF_CONN_FAILED_TO_RECEIVE_RESPONSE, SF_CONN_FILE_READ_ERR, SF_CONN_FTP_ERROR, SF_CONN_FTP_ERROR2, SF_CONN_FTP_LOGIN, SF_CONN_INTERFACING_CON_ERR, SF_CONN_INVALID_TACHYON_RECORD, SF_CONN_LDAP_CONNECT, SF_CONN_LOST_NM, SF_CONN_NM_API_ERR, SF_CONN_PDU_NULL, SF_CONN_POLL_ERR, SF_CONN_SNMP_SESS_OPEN_FAIL, SF_CONN_TIMED_OUT, SF_DATA_AGGR_ERROR, SF_DATA_ATTR_CREATE, SF_DATA_ATTR_PARSE, SF_DATA_ATTR_SHIFT, SF_DATA_CANNOT_ENCODE, SF_DATA_CANT_ACK, SF_DATA_CANT_ENCODE, SF_DATA_CONV_STR_TO_N, SF_DATA_CONV_TO_STR, SF_DATA_CONVERT_ATTR, SF_DATA_DATA_EXPIRED, SF_DATA_DATA_MISSING, SF_DATA_DATA_PROC_ERR, SF_DATA_ENCODE_ERR, SF_DATA_ERR_CREATE, SF_DATA_ERR_SEND_ACK, SF_DATA_ERROR_IN_NPL, SF_DATA_ERROR_ON_ACK, SF_DATA_FILE_DATA, SF_DATA_FILE_PROC_ERR, SF_DATA_FORMAT_ERROR, SF_DATA_IE_INVALID, SF_DATA_IE_MISSING, SF_DATA_INPUT_INVALID, SF_DATA_INV_ATT_TYPE, SF_DATA_INV_ATTR_NPL, SF_DATA_INV_RECORD, SF_DATA_INV_TRAF_VOL, SF_DATA_JDBC_DRIVER_ERR, SF_DATA_KEY_CREATE, SF_DATA_MISSING_ATTRS, SF_DATA_MSG_TOO_SMALL, SF_DATA_MSG_TYPE, SF_DATA_NAR_IS_NULL, SF_DATA_NO_DATA_FILE, SF_DATA_NO_OPT_IE, SF_DATA_REC_INCOMP, SF_DATA_RECORD_PROC, SF_DATA_RECORD_SAVE, SF_DATA_SRC_READ_ERR, SF_DATA_UNABLE_COMPLETE, SF_DATA_UNEXP_NAR, SF_DATA_UNEXPECTED, SF_DATA_VAL_NOT_FOUND, SF_DATA_WRONG_DECODER, SF_INIT_DB_CON_ERR, SF_INIT_DIR_CON_ERR, SF_INIT_IO_ERR, SF_INIT_LDM, SF_INIT_LDM_RUN, SF_INIT_NODE_CONFIG, SF_INIT_NODE_CREATION, SF_INIT_NODE_INIT, SF_INIT_NODE_START, SF_INIT_RDM, SF_INIT_RDM_RUN, SF_INIT_REG_ERROR, SF_INIT_RULE_LOAD_ERR, SF_INIT_SOCKET_CREATE, SF_INIT_SOCKET_INIT, SF_INT_ERR_ETRACE, SF_INT_ERR_EXCEPTION, SF_INT_ERR_EXPIRE_ERR, SF_INT_ERR_FIELD_NULL, SF_INT_ERR_PROC_ERR, SF_INT_ERR_SHUTDOWN, SF_NC_ERR_IN_NODE, SF_NC_ERR_MNG_SERVER, SF_NC_ERR_NODE_STATE, SF_NC_ERR_PROC_DATA, SF_NC_ERR_RESTARTING, SF_NC_ERR_STARTING, SF_NC_ERR_STOPPING, SF_NC_ERR_UNHEALTHY, SF_NC_NODE_CONF_ERROR, SF_NC_NODE_SHUTDOWN, SF_RES_CPU_MAJOR, SF_RES_CPU_MINOR, SF_RES_CPU_USAGE_ERR, SF_RES_DISK_CRITICAL, SF_RES_DISK_MINOR, SF_RES_DISK_STATUS, SF_RES_DISK_USAGE, SF_RES_ERR_DATA_READ, SF_RES_ERR_DATA_REM, SF_RES_ERR_DB_CLOSE, SF_RES_ERR_DB_OP, SF_RES_ERR_DEL_ENTRY, SF_RES_ERR_DIR_CLOSE, SF_RES_ERR_DIR_CREATE, SF_RES_ERR_DIR_DELETE, SF_RES_ERR_DIR_OPEN, SF_RES_ERR_DIR_PROC, SF_RES_ERR_DIR_READ, SF_RES_ERR_DIR_WRITE, SF_RES_ERR_ENT_CREATE, SF_RES_ERR_FILE_CLOSE, SF_RES_ERR_FILE_CREAT, SF_RES_ERR_FILE_DEL, SF_RES_ERR_FILE_MOVE, SF_RES_ERR_FILE_NAME, SF_RES_ERR_FILE_OPEN, SF_RES_ERR_FILE_PROC, SF_RES_ERR_FILE_READ, SF_RES_ERR_FILE_REN, SF_RES_ERR_FILE_WRITE, SF_RES_ERR_IN_TRANS, SF_RES_ERR_INST_CLASS, SF_RES_ERR_INST_REC, SF_RES_ERR_IO_ERR, SF_RES_ERR_OPEN_TRANS, SF_RES_ERR_READ_DU, SF_RES_ERR_SOCK_CLOSE, SF_RES_ERR_SOCK_CREAT, SF_RES_ERR_SOCK_OPEN, SF_RES_ERR_SOCK_WRITE, SF_RES_ERR_TABLE_ACC, SF_RES_ERR_TABLE_CLOS, SF_RES_ERR_TABLE_OPEN, SF_RES_ERR_TIMER_SCHED, SF_RES_ERR_USING_Q, SF_RES_IS_NULL, SF_RES_MEM_MAJOR, SF_RES_MEM_WARNING, SF_RES_NO_LICENSE, SF_RES_NODE_STATE_R, SF_RES_NODE_STATE_W, SF_SEC_NO_USER_AUTH, SF_SEC_USER_AUTH_FAIL, SF_SEC_USER_CFG_FAIL, SF_SRV_CNTRL, SF_UND_INTERRUPTED, SF_UND_SHUTDOWN_ERR
Fields inherited from interface com.nt.udc.ndk.node.PropertyIfc
ENVIRONMENT, RUNTIME
-
Constructor Summary
ConstructorsConstructorDescriptionDefault Constructor.FileEnhancerNode
(String[] args) Constructor for the FileEnhancerNode. -
Method Summary
Modifier and TypeMethodDescriptionprotected DCFieldProcessor
Configures the FieldProcessor to be one with a IDCMethodHandler.protected void
Reads the applicable configuration data through the ConfigIfc interfaceReturns the name of the NPLFieldProcessor Config Data GUI class.boolean
static long
protected IDCMethodHandler
Gets the object that is responsible for providing a "java hook" method handler interface between NPL and this node.Returns the type name of the NPLProcessor node.protected void
init()
Void method that should be implemented by classes derived from NPLProcessorNode.boolean
This method is used to check if the node is fully functional.static void
The main method is useful for debugging and development purposes.void
setContinueOnFileCorruption
(boolean flag) void
setLookupFile
(String lFile) protected static void
setLookupFrequency
(long lf) void
void
Sets the Lookup Table Reader to run within its own thread.protected void
Sets the IDCMethodHandler for this node.void
setTableName
(String name) void
shutdown()
Performs the necessary tasks to properly shutdown the node.Methods inherited from class com.nt.udc.ndk.node.NPLProcessorNode
getPerformanceMetrics, isNodeStateImplemented, isNodeStateUsed
Methods inherited from class com.nt.udc.ndk.node.GeneralNPLProcessorNode
getNPLFile, setNPLFile
Methods inherited from class com.nt.udc.ndk.node.CommonProcessorNode
getRulesFile, setRulesFile
Methods inherited from class com.nt.udc.ndk.node.ProcessorNode
getFieldProcessor, getFieldProcessor, getFieldProcessorThread, getFieldProcessorThread, getMajorType, initDCStreamHandler, setFieldProcessor, setFieldProcessor, setFieldProcessorThread, setFieldProcessorThread
Methods inherited from class com.nt.udc.ndk.node.DCNode
addNodeEventListener, backup, clearStatus, clearStatus, clearStatus, createCounters, getAndResetRecordStatistics, getBackupDir, getConfig, getConfigDataClass, getConfigDir, getConfigFile, getDCNodeType, getDCStreamHandler, getDCStreamHandler, getDiscardedStatsProcessor, getDisplayString, getDuplicateStatsProcessor, getHomeDir, getInputStatsProcessor, getItem, getLogDir, getLogger, getNodeClass, getNodeEventListeners, getNodeId, getNodeStateManager, getOutputStatsProcessor, getProperty, getPropertyKeys, getPropertyTypes, getRejectTransactionId, getScratchDir, getStateManagementType, getStateManager, getStatus, getStoredStatsProcessor, getStreamHandler, getStreamHandler, getSuspenseDir, initialize, inputMonitoringCallback, inputMonitoringPollInputCounter, isDebugEnabled, isInfoEnabled, isReconfigPending, isReconfiguring, isRejectTransaction, isShutdown, isStateUsed, logCritical, logDebug, logError, logInfo, logMajor, logMinor, logTrace, logWarning, logWarning, reconfigure, registerThreadForHealthMonitoring, rejectTransaction, restoreState, saveState, saveState, setConfig, setDCStreamHandler, setDCStreamHandler, setIsReconfiguringFlag, setItem, setProperty, setSNMPTrapGenerator, setStreamHandler, setStreamHandler, shutdownDCStreamHandler, shuttingDown, startup, unregisterThreadFromHealthMonitoring, warmRestartImplemented
-
Field Details
-
lookupFileName
-
subValueSeparator
-
-
Constructor Details
-
FileEnhancerNode
Default Constructor.- Throws:
NodeStartException
-
FileEnhancerNode
Constructor for the FileEnhancerNode. Sets up an NPLFieldProcessor and sets the DCFieldContainer to be a NAR. At the end of the constructor the node is started.- Parameters:
args
- Passed to super class ProcessorNode- Throws:
NodeStartException
-
-
Method Details
-
shutdown
public void shutdown()Performs the necessary tasks to properly shutdown the node.- Specified by:
shutdown
in interfaceAdminIfc
- Overrides:
shutdown
in classNPLProcessorNode
-
getMinorType
Returns the type name of the NPLProcessor node.- Overrides:
getMinorType
in classNPLProcessorNode
- Returns:
- Returns the minor type identifier for this node.
-
getConfigDataGuiClass
Returns the name of the NPLFieldProcessor Config Data GUI class.- Overrides:
getConfigDataGuiClass
in classNPLProcessorNode
- Returns:
- Returns the class name of the DCNodeConfigGUI object used by the node.
-
getCfgData
protected void getCfgData()Reads the applicable configuration data through the ConfigIfc interface- Overrides:
getCfgData
in classNPLProcessorNode
-
configureFieldProcessor
Configures the FieldProcessor to be one with a IDCMethodHandler. Specifically one with lookup table functionality.- Overrides:
configureFieldProcessor
in classNPLProcessorNode
- Returns:
- The DCFieldProcessor that has been configured.
- Throws:
NodeProcessingException
-
setMethodHandler
Sets the IDCMethodHandler for this node.- Parameters:
mh
- The IDCMethodHandler object to be used within this node.
-
getMethodHandler
Gets the object that is responsible for providing a "java hook" method handler interface between NPL and this node.- Returns:
- Returns the IDCMethodHandler object for this node.
-
setLookupFile
-
getLookupFile
-
setTableName
-
getTableName
-
setContinueOnFileCorruption
public void setContinueOnFileCorruption(boolean flag) -
getContinueOnFileCorruption
public boolean getContinueOnFileCorruption() -
init
protected void init()Void method that should be implemented by classes derived from NPLProcessorNode. The intent of this method is to give a place to implement construction steps that need to occur prior to the start of the FieldProcessorThread. -
setLookupReader
-
getLookupReader
-
setLookupReaderThread
Sets the Lookup Table Reader to run within its own thread.- Parameters:
lrt
- A runnable LookupReaderThread object.
-
getLookupReaderThread
- Returns:
- Returns the thread which is executing the LookupReader.
-
main
The main method is useful for debugging and development purposes. However, this method will never actually be called when the node is run within the actual application. The node is a Thread in the application, rather than a process. -
getLookupFrequency
public static long getLookupFrequency() -
setLookupFrequency
protected static void setLookupFrequency(long lf) -
isHealthy
public boolean isHealthy()This method is used to check if the node is fully functional.- Specified by:
isHealthy
in interfaceNodeHealthIfc
- Overrides:
isHealthy
in classDCNode
- Returns:
- true if the node is fully functional (healthy), false otherwise
-