1 package org.ultramonkey.l7.controller;
4 * l7vs config file controller,
5 * Confing file reader and writer.
6 * <p>class L7vsConfController</p>
7 * <p>Copyright(c) NTT COMWARE 2008</p>
11 public class L7vsConfController {
14 * l7vs config file position and name.
16 protected static String FILENAME = "/etc/l7vs/l7vs.cf";
18 protected static String LOGGER_MASTER_KEY = "logger";
20 protected static String L7VSADM_MASTER_KEY = "l7vsadm";
22 protected static String REPLICATION_MASTER_KEY = "replication";
24 protected static String SNMPAGENT_MASTER_KEY = "snmpagent";
27 * l7vsd log File Name key
29 protected static String LB_LOG_FILENAME_KEY = "l7vsd_log_filename";
32 * l7vsd log rotate key
34 protected static String LB_LOG_ROTATION_KEY = "l7vsd_rotation";
37 * l7vsd log max backup index key
39 protected static String LB_LOG_MAXBACKUPINDEX_KEY = "l7vsd_max_backup_index";
42 * l7vsd log rotate timing key
44 protected static String LB_LOG_ROTATE_TIMING_KEY = "l7vsd_rotation_timing";
47 * l7vsd log rotate timing type key
49 protected static String LB_LOG_ROTATE_TIMING_VALUE_KEY = "l7vsd_rotation_timing_value";
52 * l7vsd log file size max value key
54 protected static String LB_LOG_MAXFILESIZE_KEY = "l7vsd_max_filesize";
57 * l7vsd log level for network category key
59 protected static String LB_LOGCATEGORY_NETWORK_KEY = "l7vsd_network";
62 * l7vsd log level for network.bandwidth category key
64 protected static String LB_LOGCATEGORY_NETWORK_BANDWIDTH_KEY = "l7vsd_network.bandwidth";
67 * k7vsd log level for network.connection category key
69 protected static String LB_LOGCATEGORY_NETWORK_NUM_CONNECTION_KEY = "l7vsd_network.num_connection";
72 * l7vsd log level for network qos category key
74 protected static String LB_LOGCATEGORY_NETWORK_QOS_KEY = "l7vsd_network.qos";
77 * l7vsd log level for virtual service category key
79 protected static String LB_LOGCATEGORY_VIRTUALSERVICE_KEY = "l7vsd_virtual_service";
82 * l7vsd log level for real server category key
84 protected static String LB_LOGCATEOGRY_REALSERVER_KEY = "l7vsd_real_server";
87 * l7vsd log level for sorry server category key
89 protected static String LB_LOGCATEOGRY_SORRYSERVER_KEY = "l7vsd_sorry_server";
92 * l7vsd log level for realserver balancing category key
94 protected static String LB_LOGCATEOGRY_REALSERVER_BALANCING_KEY = "l7vsd_real_server.balancing";
97 * l7vsd log level for replication category key
99 protected static String LB_LOGCATEOGRY_REPLICATION_KEY = "l7vsd_replication";
102 * l7vsd log level for start and stop messege category key
104 protected static String LB_LOGCATEOGRY_STARTSTOP_KEY = "l7vsd_start_stop";
107 * l7vsd log level for system category key
109 protected static String LB_LOGCATEOGRY_SYSTEM_KEY = "l7vsd_system";
112 * l7vsd log level for memory in system category key
114 protected static String LB_LOGCATEOGRY_SYSTEMMEMORY_KEY = "l7vsd_system.memory";
117 * l7vsd log level for socket category key
119 protected static String LB_LOGCATEOGRY_SYSTEMSOCKET_KEY = "l7vsd_system.socket";
122 * l7vsd log level for signal category key
124 protected static String LB_LOGCATEOGRY_SYSTEMSIGNAL_KEY = "l7vsd_system.signal";
127 * l7vsd log level for environment key
129 protected static String LB_LOGCATEOGRY_ENVIROMENT_KEY = "l7vsd_environment";
132 * l7vsd log level for environment parameter category key
134 protected static String LB_LOGCATEOGRY_ENVIROMENTPARAMTER_KEY = "l7vsd_environment.parameter";
137 * l7vsd log level for logger category key
139 protected static String LB_LOGCATEGORY_LOGGER_KEY = "l7vsd_logger";
142 * l7vsd log level for parameter category key
144 protected static String LB_LOGCATEGORY_PARAMTER = "l7vsd_parameter";
147 * l7vsd log level for event category key
149 protected static String LB_LOGCATEGORY_EVENT_KEY = "l7vsd_event";
152 * l7vsd log level for schedule category key
154 protected static String LB_LOGCATEGORY_SCHEDULE_KEY = "l7vsd_schedule";
157 * l7vsd log level for program category key
159 protected static String LB_LOGCATEGORY_PROGRAM_KEY = "l7vsd_program";
162 * l7vsd log level for protocol category key
164 protected static String LB_LOGCATEGORY_PROTOCOL_KEY = "l7vsd_protocol";
167 * l7vsd log level for module category key
169 protected static String LB_LOGCATEGORY_MODULE_KEY = "l7vsd_module";
172 * l7vsadm log file name key
174 protected static String ADM_LOG_FILENAME_KEY = "l7vsadm_log_filename";
177 * l7vsadm log rotation key
179 protected static String ADM_LOG_ROTATION_KEY = "l7vsadm_rotation";
182 * l7vsadm log maxbackup indexn key
184 protected static String ADM_LOG_MAXBACKUPINDEX_KEY = "l7vsadm_max_backup_index";
187 * l7vsadm log rotate timing key
189 protected static String ADM_LOG_ROTATE_TIMING_KEY = "l7vsadm_rotation_timing";
192 * l7vsadm log rotate timing
194 protected static String ADM_LOG_ROTATE_TIMING_VALUE_KEY = "l7vsadm_rotation_timing_value";
197 * l7vsadm log maxfilesize key
199 protected static String ADM_LOG_MAXFILESIZE_KEY = "l7vsadd_max_filesize";
202 * l7vsadm log level for pase key
204 protected static String ADM_LOGCATEGORY_PARSE_KEY = "l7vsadm_parse";
207 * l7vsadm log level for operate key
209 protected static String ADM_LOGCATEGORY_OPERATE_KEY = "l7vsadm_operate";
212 * l7vsadm log level for communicate key
214 protected static String ADM_LOGCATEGORY_COMMUNICATE_KEY = "l7vsadm_communicate";
217 * l7vsadm log level for config result key
219 protected static String ADM_LOGCATEGORY_CONFIG_RESULT_KEY = "l7vsadm_config_result";
222 * l7vsadm log level for common key
224 protected static String ADM_LOGCATEOGRY_COMMON = "l7vsadm_common";
227 * l7vsadm logl level for logger key
229 protected static String ADM_LOGCATEGORY_LOGGER = "l7vsadm_logger";
232 * l7vsadm log level for parameter key
234 protected static String ADM_LOGCATEGORY_PARAMETER = "l7vsadm_parameter";
237 * l7vsadm log level for protocol key
239 protected static String ADM_LOGCATEOGRY_PROTOCOL = "l7vsadm_protocol";
242 * l7vsadm log level for module key
244 protected static String ADM_LOGCATEOGRY_MODULE = "l7vsadm_module";
247 * snmp log filename kay
249 protected static String SNMP_LOG_FILENAME_KEY = "snmpagent_log_filename";
252 * snmp log rotatetion key
254 protected static String SNMP_LOG_ROTATION_KEY = "snmpagent_rotation";
257 * snmp max backup num key
259 protected static String SNMP_LOG_MAXBACKUPINDEX_KEY = "snmpagent_max_backup_index";
262 * snmp log rotate timing key
264 protected static String SNMP_LOG_ROTATE_TIMING_KEY = "snmpagent_rotation_timing";
267 * snmp log rotate timing value key
269 protected static String SNMP_LOG_ROTATE_TIMING_VALUE_KEY = "snmpagent_rotation_timing_value";
272 * snmp log max filesize key
274 protected static String SNMP_MAX_FILESIZE_KEY = "snmpagent_max_filesize";
277 * snmp log level for start stop message category key
279 protected static String SNMP_LOGCATEOGRY_STARTSTOP_KEY = "snmpagent_start_stop";
282 * snmp log level for manager recive category key
284 protected static String SNMP_LOGCATEGORY_MANAGER_RECEIVE_KEY = "snmpagent_manager_receive";
287 * snmp log level for manager send category key
289 protected static String SNMP_LOGCATEGORY_MANAGER_SEND_KEY = "snmpagent_manager_send";
292 * snmp log level for l7vsd recive category key
294 protected static String SNMP_LOGCATEGORY_L7VSD_RECEIVE_KEY = "snmpagent_l7vsd_receive";
297 * snmp log level for l7vsd send category key
299 protected static String SNMP_LOGCATEGORY_L7VSD_SEND_KEY = "snmpagent_l7vsd_send";
302 * snmp log level for logger category key
304 protected static String SNMP_LOGCATEGORY_LOGGER = "snmpagent_logger";
307 * snmp log level for parameter category key
309 protected static String SNMP_LOGCATEGORY_PARAMETER = "snmpagent_parameter";
312 * l7vsadm command interval key
314 protected static String ADM_CMD_INTERVAL_KEY = "cmd_interval";
317 * l7vsadm command retry count key
319 protected static String ADM_CMD_COUNT_KEY = "cmd_count";
322 * l7vsadm connection retry interval timing key
324 protected static String ADM_CON_INTERVAL_KEY = "con_interval";
327 * l7vsadm connection retry count key
329 protected static String ADM_CON_COUNT_KEY = "con_count";
332 * l7vsd replication target ipaddress key
334 protected static String REPLICATION_IPADDR_KEY = "ip_addr";
337 * l7vsd replication using portno key
339 protected static String REPLICATION_SERVICENAME_KEY = "service_name";
342 * l7vsd replication using NIC kay
344 protected static String REPLICATION_NIC_KEY = "nic";
347 * l7vsd replication interval timing key
349 protected static String REPLICATION_INTERVAL_KEY = "interval";
352 * l7vsd replication interval timing key
354 protected static String REPLICATION_COMPULSORILY_INTERVAL_KEY = "compulsorily_interval";
357 * l7vsd replication component base key
359 protected static String REPLICATION_COMPONENT_ID_BASE_KEY = "cmponent_id_";
362 * l7vsd replication component size base key
364 protected static String REPLICATION_COMPONENT_SIZE_BASE_KEY = "cmponent_size_";
367 * SNMPAgent using NIC key
369 protected static String SNMPAGENT_NIC_KEY = "nic";
372 * SNMPAgent using ipaddress key
374 protected static String SNMPAGENT_IPADDR_KEY = "ip_addr";
377 * SNMPAgent using service port key
379 protected static String SNMPAGENT_PORT_KEY = "port";
382 * SNMPAgent using interval key
384 protected static String SNMPAGENT_INTERVAL_KEY = "interval";
387 * SNMPAgent using status key(this value is temp)
389 protected static String SNMPAGENT_STATUS_KEY = "status";
392 * l7vsd replication using max component num
394 protected static int MAX_REPLICATION_COMPONENT_COUNT = 99;
399 * <p>Copyright(c) NTT COMWARE 2008</p>
402 protected class Pair<E, N> {
403 protected E elementFirst;
405 protected N elementSecond;
407 public Pair(E firstIn, N secondIn) {
408 elementFirst = firstIn;
409 elementSecond = secondIn;
412 public void set(E firstIn, N secondIn) {
413 elementFirst = firstIn;
414 elementSecond = secondIn;
422 return elementSecond;
426 protected Pair<String, String> paseKey(String inLine) {
429 int pos = inLine.indexOf("=");
431 return new Pair(inLine, "");
432 String first = inLine.substring(0, pos);
433 String second = inLine.substring(pos + 1, inLine.length());
434 if (first.indexOf('#') != -1)
435 return new Pair<String, String>("", "");
436 if (second.indexOf('#') != -1) {
437 pos = second.indexOf('#');
438 second = second.substring(0, pos);
440 first = first.trim();
441 second = second.trim();
442 if (second.matches("^\".*\"$"))
443 second = second.substring(1, second.length() - 1);
444 Pair<String, String> pair = new Pair<String, String>(first, second);
450 * <p>class ComponentSet</p>
451 * <p>Copyright(c) NTT COMWARE 2008</p>
454 protected class ComponentSet {
455 public Pair<String, String> idPair;
457 public Pair<String, String> sizePair;
460 protected static LogData.LogLevel convStringToLogLevel(String instr)
461 throws org.ultramonkey.l7.model.FileNotReadException {
463 org.ultramonkey.l7.model.FileNotReadException exception = new org.ultramonkey.l7.model.FileNotReadException();
465 .setErrMessage("function L7vsConfController::convStringToLogLevel(String) param is null");
468 if (instr.equals("debug"))
469 return LogData.LogLevel.DEBUG;
470 else if (instr.equals("DEBUG"))
471 return LogData.LogLevel.DEBUG;
472 else if (instr.equals("error"))
473 return LogData.LogLevel.ERROR;
474 else if (instr.equals("ERROR"))
475 return LogData.LogLevel.ERROR;
476 else if (instr.equals("fatal"))
477 return LogData.LogLevel.FATAL;
478 else if (instr.equals("FATAL"))
479 return LogData.LogLevel.FATAL;
480 else if (instr.equals("info"))
481 return LogData.LogLevel.INFO;
482 else if (instr.equals("INFO"))
483 return LogData.LogLevel.INFO;
484 else if (instr.equals("warn"))
485 return LogData.LogLevel.WARN;
486 else if (instr.endsWith("WARN"))
487 return LogData.LogLevel.WARN;
488 org.ultramonkey.l7.model.FileNotReadException exception = new org.ultramonkey.l7.model.FileNotReadException();
489 exception.setErrMessage("");
493 protected static String convLogLevelToLogString(LogData.LogLevel inlevel) {
494 if (inlevel == LogData.LogLevel.DEBUG)
496 if (inlevel == LogData.LogLevel.ERROR)
498 if (inlevel == LogData.LogLevel.FATAL)
500 if (inlevel == LogData.LogLevel.INFO)
502 if (inlevel == LogData.LogLevel.WARN)
507 // list to data for LoggerParameter.
508 protected void readLoggerParameter(L7vsConfData data,
509 java.util.LinkedList<String> inList)
510 throws org.ultramonkey.l7.model.FileNotReadException {
511 if (data == null || inList == null)
513 for (java.util.Iterator<String> itr = inList.iterator(); itr.hasNext();) {
514 String buffer = itr.next();
515 Pair<String, String> pair = paseKey(buffer);
516 if (pair.first().equals(LB_LOG_FILENAME_KEY) )
517 data.logger.lbLog.fileName = pair.second();
518 else if (pair.first().equals(LB_LOG_ROTATION_KEY))
519 data.logger.lbLog.rotation = pair.second();
520 else if (pair.first().equals(LB_LOG_MAXBACKUPINDEX_KEY) ) {
522 data.logger.lbLog.maxBackupIndex = Integer.parseInt(pair.second());
523 } catch (java.lang.NumberFormatException e) {
524 data.logger.lbLog.maxBackupIndex = 0;
527 else if (pair.first().equals(LB_LOG_ROTATE_TIMING_KEY))
528 data.logger.lbLog.rotationTiming = pair.second();
529 else if (pair.first().equals(LB_LOG_ROTATE_TIMING_VALUE_KEY))
530 data.logger.lbLog.rotationTimingValue = pair.second();
531 else if (pair.first().equals(LB_LOG_MAXFILESIZE_KEY))
532 data.logger.lbLog.maxFileSize = pair.second();
533 else if (pair.first().equals(LB_LOGCATEGORY_NETWORK_KEY) )
534 data.logger.lbLog.logLevel.put(LogData.LogCategory.L7VSD_NETWORK,
535 convStringToLogLevel(pair.second()));
536 else if (pair.first().equals(LB_LOGCATEGORY_NETWORK_BANDWIDTH_KEY))
537 data.logger.lbLog.logLevel.put(
538 LogData.LogCategory.L7VSD_NETWORK_BANDWIDTH,
539 convStringToLogLevel(pair.second()));
540 else if (pair.first().equals(LB_LOGCATEGORY_NETWORK_NUM_CONNECTION_KEY))
541 data.logger.lbLog.logLevel.put(
542 LogData.LogCategory.L7VSD_NETWORK_NUM_CONNECTION,
543 convStringToLogLevel(pair.second()));
544 else if (pair.first().equals(LB_LOGCATEGORY_NETWORK_QOS_KEY))
545 data.logger.lbLog.logLevel.put(LogData.LogCategory.L7VSD_NETWORK_QOS,
546 convStringToLogLevel(pair.second()));
547 else if (pair.first().equals(LB_LOGCATEGORY_VIRTUALSERVICE_KEY))
548 data.logger.lbLog.logLevel.put(LogData.LogCategory.L7VSD_VIRTUAL_SERVICE,
549 convStringToLogLevel(pair.second()));
550 else if (pair.first().equals(LB_LOGCATEOGRY_REALSERVER_KEY))
551 data.logger.lbLog.logLevel.put(LogData.LogCategory.L7VSD_REAL_SERVER,
552 convStringToLogLevel(pair.second()));
553 else if (pair.first().equals(LB_LOGCATEOGRY_SORRYSERVER_KEY))
554 data.logger.lbLog.logLevel.put(LogData.LogCategory.L7VSD_SORRY_SERVER,
555 convStringToLogLevel(pair.second()));
556 else if (pair.first().equals(LB_LOGCATEOGRY_REALSERVER_BALANCING_KEY))
557 data.logger.lbLog.logLevel.put(
558 LogData.LogCategory.L7VSD_REAL_SERVER_BALANCING,
559 convStringToLogLevel(pair.second()));
560 else if (pair.first().equals(LB_LOGCATEOGRY_REPLICATION_KEY))
561 data.logger.lbLog.logLevel.put(LogData.LogCategory.L7VSD_REPLICATION,
562 convStringToLogLevel(pair.second()));
563 else if (pair.first().equals(LB_LOGCATEOGRY_STARTSTOP_KEY))
564 data.logger.lbLog.logLevel.put(LogData.LogCategory.L7VSD_START_STOP,
565 convStringToLogLevel(pair.second()));
566 else if (pair.first().equals(LB_LOGCATEOGRY_SYSTEM_KEY))
567 data.logger.lbLog.logLevel.put(LogData.LogCategory.L7VSD_SYSTEM,
568 convStringToLogLevel(pair.second()));
569 else if (pair.first().equals(LB_LOGCATEOGRY_SYSTEMMEMORY_KEY))
570 data.logger.lbLog.logLevel.put(LogData.LogCategory.L7VSD_SYSTEM_MEMORY,
571 convStringToLogLevel(pair.second()));
572 else if (pair.first().equals(LB_LOGCATEOGRY_SYSTEMSOCKET_KEY))
573 data.logger.lbLog.logLevel.put(LogData.LogCategory.L7VSD_SYSTEM_SOCKET,
574 convStringToLogLevel(pair.second()));
575 else if (pair.first().equals(LB_LOGCATEOGRY_SYSTEMSIGNAL_KEY))
576 data.logger.lbLog.logLevel.put(LogData.LogCategory.L7VSD_SYSTEM_SIGNAL,
577 convStringToLogLevel(pair.second()));
578 else if (pair.first().equals(LB_LOGCATEOGRY_ENVIROMENT_KEY))
579 data.logger.lbLog.logLevel.put(LogData.LogCategory.L7VSD_ENVIRONMENT,
580 convStringToLogLevel(pair.second()));
581 else if (pair.first().equals(LB_LOGCATEOGRY_ENVIROMENTPARAMTER_KEY))
582 data.logger.lbLog.logLevel.put(
583 LogData.LogCategory.L7VSD_ENVIRONMENT_PARAMETER,
584 convStringToLogLevel(pair.second()));
585 else if (pair.first().equals(LB_LOGCATEGORY_LOGGER_KEY))
586 data.logger.lbLog.logLevel.put(LogData.LogCategory.L7VSD_LOGGER,
587 convStringToLogLevel(pair.second()));
588 else if (pair.first().equals(LB_LOGCATEGORY_PARAMTER))
589 data.logger.lbLog.logLevel.put(LogData.LogCategory.L7VSD_PARAMETER,
590 convStringToLogLevel(pair.second()));
591 else if (pair.first().equals(LB_LOGCATEGORY_EVENT_KEY))
592 data.logger.lbLog.logLevel.put(LogData.LogCategory.L7VSD_EVENT,
593 convStringToLogLevel(pair.second()));
594 else if (pair.first().equals(LB_LOGCATEGORY_SCHEDULE_KEY))
595 data.logger.lbLog.logLevel.put(LogData.LogCategory.L7VSD_SCHEDULE,
596 convStringToLogLevel(pair.second()));
597 else if (pair.first().equals(LB_LOGCATEGORY_PROGRAM_KEY))
598 data.logger.lbLog.logLevel.put(LogData.LogCategory.L7VSD_PROGRAM,
599 convStringToLogLevel(pair.second()));
600 else if (pair.first().equals(LB_LOGCATEGORY_PROTOCOL_KEY))
601 data.logger.lbLog.logLevel.put(LogData.LogCategory.L7VSD_PROTOCOL,
602 convStringToLogLevel(pair.second()));
603 else if (pair.first().equals(LB_LOGCATEGORY_MODULE_KEY))
604 data.logger.lbLog.logLevel.put(LogData.LogCategory.L7VSD_MODULE,
605 convStringToLogLevel(pair.second()));
606 else if (pair.first().equals(ADM_LOG_FILENAME_KEY))
607 data.logger.admLog.fileName = pair.second();
608 else if (pair.first().equals(ADM_LOG_ROTATION_KEY))
609 data.logger.admLog.rotation = pair.second();
610 else if (pair.first().equals(ADM_LOG_MAXBACKUPINDEX_KEY)) {
612 data.logger.admLog.maxBackupIndex = Integer.parseInt(pair.second());
613 } catch (java.lang.NumberFormatException e) {
614 data.logger.admLog.maxBackupIndex = 0;
616 } else if (pair.first().equals(ADM_LOG_ROTATE_TIMING_KEY))
617 data.logger.admLog.rotationTiming = pair.second();
618 else if (pair.first().equals(ADM_LOG_ROTATE_TIMING_VALUE_KEY))
619 data.logger.admLog.rotationTimingValue = pair.second();
620 else if (pair.first().equals(ADM_LOG_MAXFILESIZE_KEY))
621 data.logger.admLog.maxFileSize = pair.second();
622 else if (pair.first().equals(ADM_LOGCATEGORY_PARSE_KEY))
623 data.logger.admLog.logLevel.put(LogData.LogCategory.L7VSADM_PARSE,
624 convStringToLogLevel(pair.second()));
625 else if (pair.first().equals(ADM_LOGCATEGORY_OPERATE_KEY))
626 data.logger.admLog.logLevel.put(LogData.LogCategory.L7VSADM_OPERATE,
627 convStringToLogLevel(pair.second()));
628 else if (pair.first().equals(ADM_LOGCATEGORY_COMMUNICATE_KEY))
629 data.logger.admLog.logLevel.put(LogData.LogCategory.L7VSADM_COMMUNICATE,
630 convStringToLogLevel(pair.second()));
631 else if (pair.first().equals(ADM_LOGCATEGORY_CONFIG_RESULT_KEY))
632 data.logger.admLog.logLevel.put(
633 LogData.LogCategory.L7VSADM_CONFIG_RESULT,
634 convStringToLogLevel(pair.second()));
635 else if (pair.first().equals(ADM_LOGCATEOGRY_COMMON))
636 data.logger.admLog.logLevel.put(LogData.LogCategory.L7VSADM_COMMON,
637 convStringToLogLevel(pair.second()));
638 else if (pair.first().equals(ADM_LOGCATEGORY_LOGGER))
639 data.logger.admLog.logLevel.put(LogData.LogCategory.L7VSADM_LOGGER,
640 convStringToLogLevel(pair.second()));
641 else if (pair.first().equals(ADM_LOGCATEGORY_PARAMETER))
642 data.logger.admLog.logLevel.put(LogData.LogCategory.L7VSADM_PARAMETER,
643 convStringToLogLevel(pair.second()));
644 else if (pair.first().equals(ADM_LOGCATEOGRY_PROTOCOL))
645 data.logger.admLog.logLevel.put(LogData.LogCategory.L7VSADM_PROTOCOL,
646 convStringToLogLevel(pair.second()));
647 else if (pair.first().equals(ADM_LOGCATEOGRY_MODULE))
648 data.logger.admLog.logLevel.put(LogData.LogCategory.L7VSADM_MODULE,
649 convStringToLogLevel(pair.second()));
650 else if (pair.first().equals(SNMP_LOG_FILENAME_KEY))
651 data.logger.snmpLog.fileName = pair.second();
652 else if (pair.first().equals(SNMP_LOG_ROTATION_KEY))
653 data.logger.snmpLog.rotation = pair.second();
654 else if (pair.first().equals(SNMP_LOG_MAXBACKUPINDEX_KEY)) {
656 data.logger.snmpLog.maxBackupIndex = Integer.parseInt(pair.second());
657 } catch (java.lang.NumberFormatException e) {
658 data.logger.snmpLog.maxBackupIndex = 0;
660 } else if (pair.first().equals(SNMP_LOG_ROTATE_TIMING_KEY))
661 data.logger.snmpLog.rotationTiming = pair.second();
662 else if (pair.first().equals(SNMP_LOG_ROTATE_TIMING_VALUE_KEY))
663 data.logger.snmpLog.rotationTimingValue = pair.second();
664 else if (pair.first().equals(SNMP_MAX_FILESIZE_KEY))
665 data.logger.snmpLog.maxFileSize = pair.second();
666 else if (pair.first().equals(SNMP_LOGCATEOGRY_STARTSTOP_KEY))
667 data.logger.snmpLog.logLevel.put(
668 LogData.LogCategory.SNMPAGENT_START_STOP,
669 convStringToLogLevel(pair.second()));
670 else if (pair.first().equals(SNMP_LOGCATEGORY_MANAGER_RECEIVE_KEY))
671 data.logger.snmpLog.logLevel.put(
672 LogData.LogCategory.SNMPAGENT_MANAGER_RECEIVE,
673 convStringToLogLevel(pair.second()));
674 else if (pair.first().equals(SNMP_LOGCATEGORY_MANAGER_SEND_KEY))
675 data.logger.snmpLog.logLevel.put(
676 LogData.LogCategory.SNMPAGENT_MANAGER_SEND,
677 convStringToLogLevel(pair.second()));
678 else if (pair.first().equals(SNMP_LOGCATEGORY_L7VSD_RECEIVE_KEY))
679 data.logger.snmpLog.logLevel.put(
680 LogData.LogCategory.SNMPAGENT_L7VSD_RECEIVE,
681 convStringToLogLevel(pair.second()));
682 else if (pair.first().equals(SNMP_LOGCATEGORY_L7VSD_SEND_KEY))
683 data.logger.snmpLog.logLevel.put(
684 LogData.LogCategory.SNMPAGENT_L7VSD_SEND,
685 convStringToLogLevel(pair.second()));
686 else if (pair.first().equals(SNMP_LOGCATEGORY_LOGGER))
687 data.logger.snmpLog.logLevel.put(LogData.LogCategory.SNMPAGENT_LOGGER,
688 convStringToLogLevel(pair.second()));
689 else if (pair.first().equals(SNMP_LOGCATEGORY_PARAMETER))
690 data.logger.snmpLog.logLevel.put(LogData.LogCategory.SNMPAGENT_PARAMETER,
691 convStringToLogLevel(pair.second()));
695 protected void readAdmParameter(L7vsConfData data, java.util.LinkedList<String> inList)
696 throws org.ultramonkey.l7.model.FileNotReadException {
697 if (data == null || inList == null)
699 for (java.util.Iterator<String> itr = inList.iterator(); itr.hasNext();) {
700 String buffer = itr.next();
701 Pair<String, String> pair = paseKey(buffer);
702 if (pair.first().indexOf(ADM_CMD_INTERVAL_KEY) != -1) {
704 data.admCmdInterval = Integer.parseInt(pair.second());
705 } catch (java.lang.NumberFormatException e) {
706 data.admCmdInterval = 0;
708 } else if (pair.first().indexOf(ADM_CMD_COUNT_KEY) != -1) {
710 data.admCmdCount = Integer.parseInt(pair.second());
711 } catch (java.lang.NumberFormatException e) {
712 data.admCmdCount = 0;
714 } else if (pair.first().indexOf(ADM_CON_INTERVAL_KEY) != -1) {
716 data.admConInterval = Integer.parseInt(pair.second());
717 } catch (java.lang.NumberFormatException e) {
718 data.admConInterval = 0;
720 } else if (pair.first().indexOf(ADM_CON_COUNT_KEY) != -1) {
722 data.admConCount = Integer.parseInt(pair.second());
723 } catch (java.lang.NumberFormatException e) {
724 data.admConCount = 0;
731 protected void readSNMPAgentParameter(L7vsConfData data,
732 java.util.LinkedList<String> inList)
733 throws org.ultramonkey.l7.model.FileNotReadException {
734 if (data == null || inList == null)
736 for (java.util.Iterator<String> itr = inList.iterator(); itr.hasNext();) {
737 String buffer = itr.next();
738 Pair<String, String> pair = paseKey(buffer);
739 if (pair.first().indexOf(SNMPAGENT_NIC_KEY) != -1)
740 data.snmpNIC = pair.second();
741 else if (pair.first().indexOf(SNMPAGENT_IPADDR_KEY) != -1)
742 data.snmpIpAddr = pair.second();
743 else if (pair.first().indexOf(SNMPAGENT_PORT_KEY) != -1)
744 data.snmpPort = pair.second();
745 else if (pair.first().indexOf(SNMPAGENT_INTERVAL_KEY) != -1) {
747 data.snmpInterval = Integer.parseInt(pair.second());
748 } catch (java.lang.NumberFormatException e) {
749 data.snmpInterval = 0;
755 protected void readReplicationParameter(L7vsConfData data,
756 java.util.LinkedList<String> inList)
757 throws org.ultramonkey.l7.model.FileNotReadException {
758 if (data == null || inList == null)
760 java.util.HashMap<String, Pair<String,String>> map = new java.util.HashMap<String, Pair<String,String>>();
761 for (java.util.Iterator<String> itr = inList.iterator(); itr.hasNext();) {
762 String buffer = itr.next();
763 Pair<String, String> pair = paseKey(buffer);
764 if (pair.first().indexOf(REPLICATION_IPADDR_KEY) != -1)
765 data.replicationOtherNode.host = pair.second();
766 else if (pair.first().indexOf(REPLICATION_SERVICENAME_KEY) != -1)
767 data.replicationOtherNode.port = pair.second();
768 else if (pair.first().indexOf(REPLICATION_NIC_KEY) != -1)
769 data.replicationNic = pair.second();
770 else if (pair.first().indexOf(REPLICATION_INTERVAL_KEY) != -1 &&
771 pair.first().indexOf(REPLICATION_COMPULSORILY_INTERVAL_KEY) == -1) {
773 data.replicationInterval = Integer.parseInt(pair.second());
774 } catch (java.lang.NumberFormatException e) {
775 data.replicationInterval = 0;
777 } else if (pair.first().indexOf(REPLICATION_COMPONENT_ID_BASE_KEY) != -1) {
778 String number = pair.first().substring(REPLICATION_COMPONENT_ID_BASE_KEY.length(), REPLICATION_COMPONENT_ID_BASE_KEY.length() + 2);
779 Pair<String,String> tmpPair = map.get(number);
780 if( tmpPair == null )
781 map.put(number, new Pair<String,String>(pair.second(), "" ));
783 tmpPair.set(pair.first(), tmpPair.second());
784 } else if (pair.first().indexOf(REPLICATION_COMPONENT_SIZE_BASE_KEY) != -1) {
785 String number = pair.first().substring(REPLICATION_COMPONENT_SIZE_BASE_KEY.length(), REPLICATION_COMPONENT_SIZE_BASE_KEY.length() + 2);
786 Pair<String,String> tmpPair = map.get(number);
787 if( tmpPair == null )
788 map.put(number, new Pair<String,String>("", pair.second()));
790 tmpPair.set(tmpPair.first(), pair.second());
793 //data puts COMPONENTID and SIZE
794 data.component = new java.util.HashMap<String, Integer>();
795 for (java.util.Iterator<java.util.Map.Entry<String, Pair<String,String>>> itr = map.entrySet().iterator(); itr
797 java.util.Map.Entry<String, Pair<String,String>> entry = itr.next();
798 Pair<String, String> pair = entry.getValue();
800 data.component.put(pair.first(), Integer.parseInt(pair.second()));
801 } catch (java.lang.NumberFormatException e) {
802 data.component.put(pair.first(), 0);
808 * l7vs.cf load function.
809 * @return L7vsConfData create from l7vs.cf file.
810 * @throws org.ultramonkey.l7/model.FileNotReadException
812 protected L7vsConfData loadFromFile()
813 throws org.ultramonkey.l7.model.FileNotReadException {
815 // data read on stack
816 java.util.Stack<String> stack = new java.util.Stack<String>();
818 java.io.FileReader file = new java.io.FileReader(FILENAME);
819 java.io.BufferedReader reader = new java.io.BufferedReader(file);
821 while ((buffer = reader.readLine()) != null) {
822 if (buffer.length() != 0 && buffer.charAt(0) != '#') {
826 } catch (Exception e) {
827 org.ultramonkey.l7.model.FileNotReadException ex = new org.ultramonkey.l7.model.FileNotReadException();
828 ex.setErrMessage("Cannot read file : " + FILENAME + "/ base exception = "
834 L7vsConfData data = new L7vsConfData();
835 java.util.LinkedList<String> tmpList = new java.util.LinkedList<String>();
836 while (!stack.empty()) {
837 String buffer = stack.pop();
838 buffer = buffer.trim();
839 int pos = buffer.indexOf('#');
840 if( pos == 0 ) continue;
841 if( pos != -1 ) buffer = buffer.substring(0, pos);
842 else if (buffer.charAt(0) == '[' && buffer.charAt(buffer.length()-1) == ']') {
844 if (buffer.indexOf(LOGGER_MASTER_KEY) != -1) {
845 readLoggerParameter(data, tmpList);
848 } else if (buffer.indexOf(L7VSADM_MASTER_KEY) != -1) {
849 readAdmParameter(data, tmpList);
852 } else if (buffer.indexOf(REPLICATION_MASTER_KEY) != -1) {
853 readReplicationParameter(data, tmpList);
856 } else if (buffer.indexOf(SNMPAGENT_MASTER_KEY) != -1) {
857 readSNMPAgentParameter(data, tmpList);
862 tmpList.addFirst(buffer);
868 private static String trimQuote(String s) {
869 if (s != null && s.matches("^\".*\"$")) {
870 s = s.substring(1, s.length() - 1);
875 protected void searchInsertData(String key, String value,
876 java.util.LinkedList<String> list, int start, int end) {
877 for (int i = start; i < end; ++i) {
878 String buffer = list.get(i).trim();
879 if (buffer.length() == 0)
881 int commentpos = buffer.indexOf("#");
882 if (commentpos != -1)
883 buffer = buffer.substring(commentpos, buffer.length());
884 Pair<String, String> pair = paseKey(buffer);
885 if (pair.first().length() == 0)
887 if (pair.first().equals(key)) {
888 if (pair.second().equals(trimQuote(value)))
890 StringBuffer buf = new StringBuffer();
891 if (commentpos == -1)
893 buf.append(list.get(i));
895 list.add(i, buf.toString());
896 list.add(i + 1, key + "=" + value);
900 list.add(end + 1, key + "=" + value);
905 * <p> saveToFile method</p>
908 protected void saveToFile(L7vsConfData data)
909 throws org.ultramonkey.l7.model.FileNotWriteException {
910 java.util.LinkedList<String> datas = new java.util.LinkedList();
912 java.io.FileReader file = new java.io.FileReader(FILENAME);
913 java.io.BufferedReader reader = new java.io.BufferedReader(file);
915 while ((buffer = reader.readLine()) != null) {
916 datas.addLast(buffer);
918 } catch (Exception e) {
919 org.ultramonkey.l7.model.FileNotWriteException ex = new org.ultramonkey.l7.model.FileNotWriteException();
920 ex.setErrMessage("Cannot open file : " + FILENAME);
926 int endpos = 0; //logger value.
927 for (int i = 0; i < datas.size(); ++i) {
928 String buffer = datas.get(i).trim();
929 if (buffer.length() == 0)
931 if (buffer.charAt(0) == '#')
933 int cmntpos = buffer.indexOf("#");
935 buffer = buffer.substring(0, cmntpos).trim();
936 if (buffer.charAt(0) == '[' && buffer.charAt(buffer.length()-1) == ']') {
937 if (buffer.indexOf("logger") != -1 || buffer.indexOf("LOGGER") != -1) {
947 if( endpos == 0 ) endpos = datas.size();
948 if (data.logger.lbLog.fileName != null
949 && data.logger.lbLog.fileName.length() != 0)
950 searchInsertData(LB_LOG_FILENAME_KEY,
951 "\"" + data.logger.lbLog.fileName + "\"", datas, startpos,
953 if (data.logger.lbLog.rotation != null
954 && data.logger.lbLog.rotation.length() != 0)
955 searchInsertData(LB_LOG_ROTATION_KEY,
956 "\"" + data.logger.lbLog.rotation + "\"", datas, startpos,
958 if (data.logger.lbLog.maxBackupIndex != 0)
959 searchInsertData(LB_LOG_MAXBACKUPINDEX_KEY, String
960 .valueOf(data.logger.lbLog.maxBackupIndex), datas, startpos,
962 if (data.logger.lbLog.rotationTiming != null
963 && data.logger.lbLog.rotationTiming.length() != 0)
964 searchInsertData(LB_LOG_ROTATE_TIMING_KEY, "\""
965 + data.logger.lbLog.rotationTiming + "\"", datas, startpos,
967 if (data.logger.lbLog.rotationTimingValue != null
968 && data.logger.lbLog.rotationTimingValue.length() != 0)
969 searchInsertData(LB_LOG_ROTATE_TIMING_KEY, "\""
970 + data.logger.lbLog.rotationTimingValue + "\"", datas,
971 startpos, endpos += 1);
972 if (data.logger.lbLog.maxFileSize != null
973 && data.logger.lbLog.maxFileSize.length() != 0)
974 searchInsertData(LB_LOG_MAXFILESIZE_KEY, "\"" + data.logger.lbLog.maxFileSize
975 + "\"", datas, startpos, endpos += 1);
976 LogData.LogLevel level = data.logger.lbLog.logLevel
977 .get(LogData.LogCategory.L7VSD_NETWORK);
979 String buf = convLogLevelToLogString(level);
980 if (buf.length() != 0) {
981 searchInsertData(LB_LOGCATEGORY_NETWORK_KEY, buf, datas, startpos, endpos += 1);
984 level = data.logger.lbLog.logLevel
985 .get(LogData.LogCategory.L7VSD_NETWORK_BANDWIDTH);
987 String buf = convLogLevelToLogString(level);
988 if (buf.length() != 0) {
989 searchInsertData(LB_LOGCATEGORY_NETWORK_BANDWIDTH_KEY, buf, datas, startpos,
993 level = data.logger.lbLog.logLevel
994 .get(LogData.LogCategory.L7VSD_NETWORK_NUM_CONNECTION);
996 String buf = convLogLevelToLogString(level);
997 if (buf.length() != 0) {
998 searchInsertData(LB_LOGCATEGORY_NETWORK_NUM_CONNECTION_KEY, buf, datas,
999 startpos, endpos += 1);
1002 level = data.logger.lbLog.logLevel.get(LogData.LogCategory.L7VSD_NETWORK_QOS);
1003 if (level != null) {
1004 String buf = convLogLevelToLogString(level);
1005 if (buf.length() != 0) {
1006 searchInsertData(LB_LOGCATEGORY_NETWORK_QOS_KEY, buf, datas, startpos,
1010 level = data.logger.lbLog.logLevel.get(LogData.LogCategory.L7VSD_VIRTUAL_SERVICE);
1011 if (level != null) {
1012 String buf = convLogLevelToLogString(level);
1013 if (buf.length() != 0) {
1014 searchInsertData(LB_LOGCATEGORY_VIRTUALSERVICE_KEY, buf, datas, startpos,
1018 level = data.logger.lbLog.logLevel.get(LogData.LogCategory.L7VSD_REAL_SERVER);
1019 if (level != null) {
1020 String buf = convLogLevelToLogString(level);
1021 if (buf.length() != 0) {
1022 searchInsertData(LB_LOGCATEOGRY_REALSERVER_KEY, buf, datas, startpos,
1026 level = data.logger.lbLog.logLevel.get(LogData.LogCategory.L7VSD_SORRY_SERVER);
1027 if (level != null) {
1028 String buf = convLogLevelToLogString(level);
1029 if (buf.length() != 0) {
1030 searchInsertData(LB_LOGCATEOGRY_SORRYSERVER_KEY, buf, datas, startpos,
1034 level = data.logger.lbLog.logLevel
1035 .get(LogData.LogCategory.L7VSD_REAL_SERVER_BALANCING);
1036 if (level != null) {
1037 String buf = convLogLevelToLogString(level);
1038 if (buf.length() != 0) {
1039 searchInsertData(LB_LOGCATEOGRY_REALSERVER_BALANCING_KEY, buf, datas,
1040 startpos, endpos += 1);
1043 level = data.logger.lbLog.logLevel.get(LogData.LogCategory.L7VSD_REPLICATION);
1044 if (level != null) {
1045 String buf = convLogLevelToLogString(level);
1046 if (buf.length() != 0) {
1047 searchInsertData(LB_LOGCATEOGRY_REPLICATION_KEY, buf, datas, startpos,
1051 level = data.logger.lbLog.logLevel.get(LogData.LogCategory.L7VSD_START_STOP);
1052 if (level != null) {
1053 String buf = convLogLevelToLogString(level);
1054 if (buf.length() != 0) {
1055 searchInsertData(LB_LOGCATEOGRY_STARTSTOP_KEY, buf, datas, startpos,
1059 level = data.logger.lbLog.logLevel.get(LogData.LogCategory.L7VSD_SYSTEM);
1060 if (level != null) {
1061 String buf = convLogLevelToLogString(level);
1062 if (buf.length() != 0) {
1063 searchInsertData(LB_LOGCATEOGRY_SYSTEM_KEY, buf, datas, startpos, endpos += 1);
1066 level = data.logger.lbLog.logLevel.get(LogData.LogCategory.L7VSD_SYSTEM_MEMORY);
1067 if (level != null) {
1068 String buf = convLogLevelToLogString(level);
1069 if (buf.length() != 0) {
1070 searchInsertData(LB_LOGCATEOGRY_SYSTEMMEMORY_KEY, buf, datas, startpos,
1074 level = data.logger.lbLog.logLevel.get(LogData.LogCategory.L7VSD_SYSTEM_SOCKET);
1075 if (level != null) {
1076 String buf = convLogLevelToLogString(level);
1077 if (buf.length() != 0) {
1078 searchInsertData(LB_LOGCATEOGRY_SYSTEMSOCKET_KEY, buf, datas, startpos,
1082 level = data.logger.lbLog.logLevel.get(LogData.LogCategory.L7VSD_SYSTEM_SIGNAL);
1083 if (level != null) {
1084 String buf = convLogLevelToLogString(level);
1085 if (buf.length() != 0) {
1086 searchInsertData(LB_LOGCATEOGRY_SYSTEMSIGNAL_KEY, buf, datas, startpos,
1090 level = data.logger.lbLog.logLevel.get(LogData.LogCategory.L7VSD_ENVIRONMENT);
1091 if (level != null) {
1092 String buf = convLogLevelToLogString(level);
1093 if (buf.length() != 0) {
1094 searchInsertData(LB_LOGCATEOGRY_ENVIROMENT_KEY, buf, datas, startpos,
1098 level = data.logger.lbLog.logLevel
1099 .get(LogData.LogCategory.L7VSD_ENVIRONMENT_PARAMETER);
1100 if (level != null) {
1101 String buf = convLogLevelToLogString(level);
1102 if (buf.length() != 0) {
1103 searchInsertData(LB_LOGCATEOGRY_ENVIROMENTPARAMTER_KEY, buf, datas, startpos,
1107 level = data.logger.lbLog.logLevel.get(LogData.LogCategory.L7VSD_LOGGER);
1108 if (level != null) {
1109 String buf = convLogLevelToLogString(level);
1110 if (buf.length() != 0) {
1111 searchInsertData(LB_LOGCATEGORY_LOGGER_KEY, buf, datas, startpos, endpos += 1);
1114 level = data.logger.lbLog.logLevel.get(LogData.LogCategory.L7VSD_PARAMETER);
1115 if (level != null) {
1116 String buf = convLogLevelToLogString(level);
1117 if (buf.length() != 0) {
1118 searchInsertData(LB_LOGCATEGORY_PARAMTER, buf, datas, startpos, endpos += 1);
1121 level = data.logger.lbLog.logLevel.get(LogData.LogCategory.L7VSD_SCHEDULE);
1122 if (level != null) {
1123 String buf = convLogLevelToLogString(level);
1124 if (buf.length() != 0) {
1125 searchInsertData(LB_LOGCATEGORY_SCHEDULE_KEY, buf, datas, startpos,
1129 level = data.logger.lbLog.logLevel.get(LogData.LogCategory.L7VSD_EVENT);
1130 if (level != null) {
1131 String buf = convLogLevelToLogString(level);
1132 if (buf.length() != 0) {
1133 searchInsertData(LB_LOGCATEGORY_EVENT_KEY, buf, datas, startpos,
1137 level = data.logger.lbLog.logLevel.get(LogData.LogCategory.L7VSD_PROGRAM);
1138 if (level != null) {
1139 String buf = convLogLevelToLogString(level);
1140 if (buf.length() != 0) {
1141 searchInsertData(LB_LOGCATEGORY_PROGRAM_KEY, buf, datas, startpos, endpos += 1);
1144 level = data.logger.lbLog.logLevel.get(LogData.LogCategory.L7VSD_PROTOCOL);
1145 if (level != null) {
1146 String buf = convLogLevelToLogString(level);
1147 if (buf.length() != 0) {
1148 searchInsertData(LB_LOGCATEGORY_PROTOCOL_KEY, buf, datas, startpos,
1152 level = data.logger.lbLog.logLevel.get(LogData.LogCategory.L7VSD_MODULE);
1153 if (level != null) {
1154 String buf = convLogLevelToLogString(level);
1155 if (buf.length() != 0) {
1156 searchInsertData(LB_LOGCATEGORY_MODULE_KEY, buf, datas, startpos, endpos += 1);
1159 if (data.logger.admLog.fileName != null
1160 && data.logger.admLog.fileName.length() != 0)
1161 searchInsertData(ADM_LOG_FILENAME_KEY, "\"" + data.logger.admLog.fileName
1162 + "\"", datas, startpos, endpos += 1);
1163 if (data.logger.admLog.rotation != null
1164 && data.logger.admLog.rotation.length() != 0)
1165 searchInsertData(ADM_LOG_ROTATION_KEY, "\"" + data.logger.admLog.rotation
1166 + "\"", datas, startpos, endpos += 1);
1167 if (data.logger.admLog.maxBackupIndex != 0)
1168 searchInsertData(ADM_LOG_MAXBACKUPINDEX_KEY, String
1169 .valueOf(data.logger.admLog.maxBackupIndex), datas, startpos,
1171 if (data.logger.admLog.rotationTiming != null
1172 && data.logger.admLog.rotationTiming.length() != 0)
1173 searchInsertData(ADM_LOG_ROTATE_TIMING_KEY, "\""
1174 + data.logger.admLog.rotationTiming + "\"", datas, startpos,
1176 if (data.logger.admLog.rotationTimingValue != null
1177 && data.logger.admLog.rotationTimingValue.length() != 0)
1178 searchInsertData(ADM_LOG_ROTATE_TIMING_VALUE_KEY, "\""
1179 + data.logger.admLog.rotationTimingValue + "\"", datas,
1180 startpos, endpos += 1);
1181 if (data.logger.admLog.maxFileSize != null
1182 && data.logger.admLog.maxFileSize.length() != 0)
1183 searchInsertData(ADM_LOG_MAXFILESIZE_KEY, "\""
1184 + data.logger.admLog.maxFileSize + "\"", datas, startpos,
1186 level = data.logger.admLog.logLevel.get(LogData.LogCategory.L7VSADM_PARSE);
1187 if (level != null) {
1188 String buf = convLogLevelToLogString(level);
1189 if (buf.length() != 0) {
1190 searchInsertData(ADM_LOGCATEGORY_PARSE_KEY, buf, datas, startpos, endpos += 1);
1193 level = data.logger.admLog.logLevel.get(LogData.LogCategory.L7VSADM_OPERATE);
1194 if (level != null) {
1195 String buf = convLogLevelToLogString(level);
1196 if (buf.length() != 0) {
1197 searchInsertData(ADM_LOGCATEGORY_OPERATE_KEY, buf, datas, startpos,
1201 level = data.logger.admLog.logLevel.get(LogData.LogCategory.L7VSADM_COMMUNICATE);
1202 if (level != null) {
1203 String buf = convLogLevelToLogString(level);
1204 if (buf.length() != 0) {
1205 searchInsertData(ADM_LOGCATEGORY_COMMUNICATE_KEY, buf, datas, startpos,
1209 level = data.logger.admLog.logLevel
1210 .get(LogData.LogCategory.L7VSADM_CONFIG_RESULT);
1211 if (level != null) {
1212 String buf = convLogLevelToLogString(level);
1213 if (buf.length() != 0) {
1214 searchInsertData(ADM_LOGCATEGORY_CONFIG_RESULT_KEY, buf, datas, startpos,
1218 level = data.logger.admLog.logLevel.get(LogData.LogCategory.L7VSADM_COMMON);
1219 if (level != null) {
1220 String buf = convLogLevelToLogString(level);
1221 if (buf.length() != 0) {
1222 searchInsertData(ADM_LOGCATEOGRY_COMMON, buf, datas, startpos, endpos += 1);
1225 level = data.logger.admLog.logLevel.get(LogData.LogCategory.L7VSADM_LOGGER);
1226 if (level != null) {
1227 String buf = convLogLevelToLogString(level);
1228 if (buf.length() != 0) {
1229 searchInsertData(ADM_LOGCATEGORY_LOGGER, buf, datas, startpos, endpos += 1);
1232 level = data.logger.admLog.logLevel.get(LogData.LogCategory.L7VSADM_PARAMETER);
1233 if (level != null) {
1234 String buf = convLogLevelToLogString(level);
1235 if (buf.length() != 0) {
1236 searchInsertData(ADM_LOGCATEGORY_PARAMETER, buf, datas, startpos, endpos += 1);
1239 level = data.logger.admLog.logLevel.get(LogData.LogCategory.L7VSADM_PROTOCOL);
1240 if (level != null) {
1241 String buf = convLogLevelToLogString(level);
1242 if (buf.length() != 0) {
1243 searchInsertData(ADM_LOGCATEOGRY_PROTOCOL, buf, datas, startpos, endpos += 1);
1246 level = data.logger.admLog.logLevel.get(LogData.LogCategory.L7VSADM_MODULE);
1247 if (level != null) {
1248 String buf = convLogLevelToLogString(level);
1249 if (buf.length() != 0) {
1250 searchInsertData(ADM_LOGCATEOGRY_MODULE, buf, datas, startpos, endpos += 1);
1253 if (data.logger.snmpLog.fileName != null
1254 && data.logger.snmpLog.fileName.length() != 0)
1255 searchInsertData(SNMP_LOG_FILENAME_KEY, "\"" + data.logger.snmpLog.fileName
1256 + "\"", datas, startpos, endpos += 1);
1257 if (data.logger.snmpLog.rotation != null
1258 && data.logger.snmpLog.rotation.length() != 0)
1259 searchInsertData(SNMP_LOG_ROTATION_KEY, "\"" + data.logger.snmpLog.rotation
1260 + "\"", datas, startpos, endpos += 1);
1261 if (data.logger.snmpLog.maxBackupIndex != 0)
1262 searchInsertData(SNMP_LOG_MAXBACKUPINDEX_KEY, String
1263 .valueOf(data.logger.snmpLog.maxBackupIndex), datas,
1264 startpos, endpos += 1);
1265 if (data.logger.snmpLog.rotationTiming != null
1266 && data.logger.snmpLog.rotationTiming.length() != 0)
1267 searchInsertData(SNMP_LOG_ROTATE_TIMING_KEY, "\""
1268 + data.logger.snmpLog.rotationTiming + "\"", datas,
1269 startpos, endpos += 1);
1270 if (data.logger.snmpLog.rotationTimingValue != null
1271 && data.logger.snmpLog.rotationTimingValue.length() != 0)
1272 searchInsertData(SNMP_LOG_ROTATE_TIMING_VALUE_KEY, "\""
1273 + data.logger.snmpLog.rotationTimingValue + "\"", datas,
1274 startpos, endpos += 1);
1275 if (data.logger.snmpLog.maxFileSize != null
1276 && data.logger.snmpLog.maxFileSize.length() != 0)
1277 searchInsertData(SNMP_MAX_FILESIZE_KEY, "\"" + data.logger.snmpLog.maxFileSize
1278 + "\"", datas, startpos, endpos += 1);
1279 level = data.logger.snmpLog.logLevel
1280 .get(LogData.LogCategory.SNMPAGENT_START_STOP);
1281 if (level != null) {
1282 String buf = convLogLevelToLogString(level);
1283 if (buf.length() != 0) {
1284 searchInsertData(SNMP_LOGCATEOGRY_STARTSTOP_KEY, buf, datas, startpos,
1288 level = data.logger.snmpLog.logLevel
1289 .get(LogData.LogCategory.SNMPAGENT_MANAGER_RECEIVE);
1290 if (level != null) {
1291 String buf = convLogLevelToLogString(level);
1292 if (buf.length() != 0) {
1293 searchInsertData(SNMP_LOGCATEGORY_MANAGER_RECEIVE_KEY, buf, datas, startpos,
1297 level = data.logger.snmpLog.logLevel
1298 .get(LogData.LogCategory.SNMPAGENT_MANAGER_SEND);
1299 if (level != null) {
1300 String buf = convLogLevelToLogString(level);
1301 if (buf.length() != 0) {
1302 searchInsertData(SNMP_LOGCATEGORY_MANAGER_SEND_KEY, buf, datas, startpos,
1306 level = data.logger.snmpLog.logLevel
1307 .get(LogData.LogCategory.SNMPAGENT_L7VSD_RECEIVE);
1308 if (level != null) {
1309 String buf = convLogLevelToLogString(level);
1310 if (buf.length() != 0) {
1311 searchInsertData(SNMP_LOGCATEGORY_L7VSD_RECEIVE_KEY, buf, datas, startpos,
1315 level = data.logger.snmpLog.logLevel
1316 .get(LogData.LogCategory.SNMPAGENT_L7VSD_SEND);
1317 if (level != null) {
1318 String buf = convLogLevelToLogString(level);
1319 if (buf.length() != 0) {
1320 searchInsertData(SNMP_LOGCATEGORY_L7VSD_SEND_KEY, buf, datas, startpos,
1324 level = data.logger.snmpLog.logLevel.get(LogData.LogCategory.SNMPAGENT_LOGGER);
1325 if (level != null) {
1326 String buf = convLogLevelToLogString(level);
1327 if (buf.length() != 0) {
1328 searchInsertData(SNMP_LOGCATEGORY_LOGGER, buf, datas, startpos, endpos += 1);
1331 level = data.logger.snmpLog.logLevel.get(LogData.LogCategory.SNMPAGENT_PARAMETER);
1332 if (level != null) {
1333 String buf = convLogLevelToLogString(level);
1334 if (buf.length() != 0) {
1335 searchInsertData(SNMP_LOGCATEGORY_PARAMETER, buf, datas, startpos, endpos += 1);
1343 for (int i = 0; i < datas.size(); ++i) {
1344 String buffer = datas.get(i).trim();
1345 if (buffer.length() == 0)
1347 if (buffer.charAt(0) == '#')
1349 int cmntpos = buffer.indexOf("#");
1351 buffer = buffer.substring(0, cmntpos).trim();
1352 if (buffer.charAt(0) == '[' && buffer.charAt(buffer.length()-1) == ']') {
1353 if (buffer.indexOf("l7vsadm") != -1 || buffer.indexOf("L7VSADM") != -1) {
1356 if (startpos != 0) {
1363 if( endpos == 0 ) endpos = datas.size();
1364 if (data.admConInterval != 0)
1365 searchInsertData(ADM_CMD_INTERVAL_KEY, String.valueOf(data.admCmdInterval),
1366 datas, startpos, endpos += 1);
1367 if (data.admCmdCount != 0)
1368 searchInsertData(ADM_CMD_COUNT_KEY, String.valueOf(data.admCmdCount), datas,
1369 startpos, endpos += 1);
1370 if (data.admConInterval != 0)
1371 searchInsertData(ADM_CON_INTERVAL_KEY, String.valueOf(data.admConInterval),
1372 datas, startpos, endpos += 1);
1373 if (data.admConCount != 0)
1374 searchInsertData(ADM_CON_COUNT_KEY, String.valueOf(data.admConCount), datas,
1375 startpos, endpos += 1);
1381 for (int i = 0; i < datas.size(); ++i) {
1382 String buffer = datas.get(i).trim();
1383 if (buffer.length() == 0)
1385 if (buffer.charAt(0) == '#')
1387 int cmntpos = buffer.indexOf("#");
1389 buffer = buffer.substring(0, cmntpos).trim();
1390 if (buffer.charAt(0) == '[' && buffer.charAt(buffer.length()-1) == ']') {
1391 if (buffer.indexOf("replication") != -1
1392 || buffer.indexOf("REPLICATION") != -1) {
1395 if (startpos != 0) {
1402 if( endpos == 0 ) endpos = datas.size();
1403 if (data.replicationOtherNode.host != null
1404 && data.replicationOtherNode.host.length() != 0)
1405 searchInsertData(REPLICATION_IPADDR_KEY, "\"" + data.replicationOtherNode.host
1406 + "\"", datas, startpos, endpos += 1);
1407 if (data.replicationOtherNode.port != null
1408 && data.replicationOtherNode.port.length() != 0)
1409 searchInsertData(REPLICATION_SERVICENAME_KEY, "\""
1410 + data.replicationOtherNode.port + "\"", datas, startpos,
1412 if (data.replicationNic != null && data.replicationNic.length() != 0)
1413 searchInsertData(REPLICATION_NIC_KEY, "\"" + data.replicationNic + "\"",
1414 datas, startpos, endpos += 1);
1415 if (data.replicationInterval != 0)
1416 searchInsertData(REPLICATION_INTERVAL_KEY, String
1417 .valueOf(data.replicationInterval), datas, startpos,
1419 if (data.component != null) {
1421 for (java.util.Iterator<java.util.Map.Entry<String, Integer>> itr = data.component
1422 .entrySet().iterator(); itr.hasNext();) {
1423 java.util.Map.Entry<String, Integer> entry = itr.next();
1424 StringBuffer compIdKey = new StringBuffer();
1425 StringBuffer compSizeKey = new StringBuffer();
1426 compIdKey.append(REPLICATION_COMPONENT_ID_BASE_KEY);
1427 compSizeKey.append(REPLICATION_COMPONENT_SIZE_BASE_KEY);
1429 compIdKey.append("0");
1430 compSizeKey.append("0");
1432 compIdKey.append(cmpno);
1433 compSizeKey.append(cmpno);
1434 searchInsertData(compIdKey.toString(), "\"" + entry.getKey() + "\"",
1435 datas, startpos, endpos += 1);
1436 searchInsertData(compSizeKey.toString(), String.valueOf(entry.getValue()),
1437 datas, startpos, endpos += 1);
1447 for (int i = 0; i < datas.size(); ++i) {
1448 String buffer = datas.get(i).trim();
1449 if (buffer.length() == 0)
1451 if (buffer.charAt(0) == '#')
1453 int cmntpos = buffer.indexOf("#");
1455 buffer = buffer.substring(0, cmntpos).trim();
1456 if (buffer.charAt(0) == '[' || buffer.charAt(buffer.length()-1) == ']') {
1457 if (buffer.indexOf("snmpagent") != -1
1458 || buffer.indexOf("SNMPAGENT") != -1) {
1461 if (startpos != 0) {
1468 if( endpos == 0 ) endpos = datas.size();
1469 if (data.snmpNIC != null && data.snmpNIC.length() != 0)
1470 searchInsertData(SNMPAGENT_NIC_KEY, "\"" + data.snmpNIC + "\"", datas,
1471 startpos, endpos += 1);
1472 if (data.snmpIpAddr != null && data.snmpIpAddr.length() != 0)
1473 searchInsertData(SNMPAGENT_IPADDR_KEY, "\"" + data.snmpIpAddr + "\"", datas,
1474 startpos, endpos += 1);
1475 if (data.snmpPort != null && data.snmpPort.length() != 0)
1476 searchInsertData(SNMPAGENT_PORT_KEY, "\"" + data.snmpPort + "\"", datas,
1477 startpos, endpos += 1);
1478 if (data.snmpInterval != 0)
1479 searchInsertData(SNMPAGENT_INTERVAL_KEY, String.valueOf(data.snmpInterval),
1480 datas, startpos, endpos);
1483 java.io.File file = new java.io.File(FILENAME);
1484 if (file.exists()) {
1485 java.util.Date date = new java.util.Date();
1486 java.io.File backfile = new java.io.File(FILENAME + ".back_"
1487 + String.valueOf(date.getTime()));
1488 file.renameTo(backfile);
1489 file = new java.io.File(FILENAME);
1491 java.io.FileWriter writer = new java.io.FileWriter(file);
1492 for (java.util.Iterator<String> itr = datas.iterator(); itr.hasNext();) {
1493 StringBuffer buf = new StringBuffer(itr.next());
1495 writer.write(buf.toString());
1498 } catch (Exception e) {
1499 org.ultramonkey.l7.model.FileNotWriteException ex = new org.ultramonkey.l7.model.FileNotWriteException();
1500 ex.setErrMessage("Cannot write file : " + FILENAME);
1508 * <p> getConfData method</p>
1510 * @return l7vs.cf data
1512 public synchronized L7vsConfData getConfData()
1513 throws org.ultramonkey.l7.model.FileNotReadException {
1514 return loadFromFile();
1519 * <p> setConfData method</p>
1522 public synchronized void setConfData(L7vsConfData cf)
1523 throws org.ultramonkey.l7.model.FileNotWriteException {
1525 org.ultramonkey.l7.model.FileNotWriteException exception = new org.ultramonkey.l7.model.FileNotWriteException();
1526 exception.setErrMessage("L7vConfData class is null!");
1527 exception.setErrNo(0);