Package com.nt.udc.ndk.node
Class NPLProcessorNode
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
- All Implemented Interfaces:
AdminIfc
,ConfigIfc
,LoggerIfc
,NodeHealthIfc
,NodeStateManagementIfc
,PropertyIfc
,StateManagementIfc
- Direct Known Subclasses:
FileEnhancerNode
,FlexibleAggregatorNode
,NMinusOneRecordNode
This Processor Node is the default for doing procedural processing
with NPL. This class provides a default implementation for general
use with the basic NPLFieldProcessor.
This node takes NARs as input, and writes NARs as output. It
then manipulates those NARs based on the rules in and NPL file.
-
Field Summary
FieldsFields 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.NPLProcessorNode
(String[] args) Constructor for the NPLProcessorNode. -
Method Summary
Modifier and TypeMethodDescriptionprotected DCFieldProcessor
Sets up the general NPLFieldProcesser passing a NAR as the output class for the Field Processor, and passes the NPL file gained from the config for parsing instructions for the NPL.protected void
Reads the applicable configuration data through the ConfigIfc interface This method should be over-ridden by the derived class if there is more than just a rulesfile being fetched from the config.Returns the name of the NPLFieldProcessor Config Data GUI class.Returns the type name of the NPLProcessor node.Returns the stream handler's node performance objectboolean
This node uses specific Objects that are responsible for containing its state.boolean
Returns whether the node state is used (and whether the node can be recovered.static void
The main method is useful for debugging and development purposes.void
shutdown()
Performs the necessary tasks to properly shutdown the node.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, isHealthy, 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
-
numThreads
protected int numThreads -
fileLevelTransaction
protected boolean fileLevelTransaction
-
-
Constructor Details
-
NPLProcessorNode
Default Constructor.- Throws:
NodeStartException
-
NPLProcessorNode
Constructor for the NPLProcessorNode. 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 classGeneralNPLProcessorNode
-
getMinorType
Returns the type name of the NPLProcessor node.- Specified by:
getMinorType
in classDCNode
- Returns:
- Returns the minor type identifier for this node.
-
getConfigDataGuiClass
Returns the name of the NPLFieldProcessor Config Data GUI class.- Specified by:
getConfigDataGuiClass
in classDCNode
- 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 This method should be over-ridden by the derived class if there is more than just a rulesfile being fetched from the config. Of course, the derived method should call this method as super.getCfgData() to pickup the rules file attribute. -
configureFieldProcessor
Sets up the general NPLFieldProcesser passing a NAR as the output class for the Field Processor, and passes the NPL file gained from the config for parsing instructions for the NPL. This method should be over-ridden by derived classes, if the derived class needs to construct it's field processor with additional information (for example, constructing the FieldProcessor with a IDCMethodHandler object.- Returns:
- The DCFieldProcessor that has been configured.
- Throws:
NodeProcessingException
-
getPerformanceMetrics
Description copied from class:DCNode
Returns the stream handler's node performance object- Specified by:
getPerformanceMetrics
in interfaceAdminIfc
- Overrides:
getPerformanceMetrics
in classDCNode
- Returns:
- DCNodePerformanceIfc object
-
isNodeStateImplemented
public boolean isNodeStateImplemented()This node uses specific Objects that are responsible for containing its state. Therefore, this method must return "true".- Overrides:
isNodeStateImplemented
in classDCNode
- Returns:
- true
-
isNodeStateUsed
public boolean isNodeStateUsed()Returns whether the node state is used (and whether the node can be recovered. Currently disabled for NPLProcessorNode.- Specified by:
isNodeStateUsed
in interfaceNodeStateManagementIfc
- Overrides:
isNodeStateUsed
in classGeneralNPLProcessorNode
- Returns:
- true, if node state is being used
-
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.
-