test_class.declarator: _sgMgr = null
test_class.modifier: @Inject
test_class.original_string: @Inject
      SecurityGroupManagerImpl2 _sgMgr = null;
test_class.type: SecurityGroupManagerImpl2
test_class.var_name: _sgMgr
test_class.file: server/src/test/java/com/cloud/network/security/SecurityGroupManagerImpl2Test.java
test_class.identifier: SecurityGroupManagerImpl2Test
test_class.superclass: extends TestCase
test_case.body: @Test
      public void testWork() throws ConfigurationException {
          _schedule(1000);
          _sgMgr.work();
      }
test_case.class_method_signature: SecurityGroupManagerImpl2Test.testWork()
test_case.full_signature: @Test public void testWork()
test_case.identifier: testWork
test_case.invocations: _schedule work
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testWork()
focal_class.declarator: _workQueue = new LocalSecurityGroupWorkQueue()
focal_class.original_string: SecurityGroupWorkQueue _workQueue = new LocalSecurityGroupWorkQueue();
focal_class.type: SecurityGroupWorkQueue
focal_class.var_name: _workQueue
focal_class.declarator: _workTracker
focal_class.original_string: SecurityGroupWorkTracker _workTracker;
focal_class.type: SecurityGroupWorkTracker
focal_class.var_name: _workTracker
focal_class.declarator: _mBean
focal_class.original_string: SecurityManagerMBeanImpl _mBean;
focal_class.type: SecurityManagerMBeanImpl
focal_class.var_name: _mBean
focal_class.declarator: _managedContext
focal_class.modifier: @Inject
focal_class.original_string: @Inject
      ManagedContext _managedContext;
focal_class.type: ManagedContext
focal_class.var_name: _managedContext
focal_class.declarator: _workers
focal_class.original_string: WorkerThread[] _workers;
focal_class.type: WorkerThread[]
focal_class.var_name: _workers
focal_class.declarator: _disabledVms = Collections.newSetFromMap(new ConcurrentHashMap<Long, Boolean>())
focal_class.modifier: private
focal_class.original_string: private Set<Long> _disabledVms = Collections.newSetFromMap(new ConcurrentHashMap<Long, Boolean>());
focal_class.type: Set<Long>
focal_class.var_name: _disabledVms
focal_class.declarator: _schedulerDisabled = false
focal_class.modifier: private
focal_class.original_string: private boolean _schedulerDisabled = false;
focal_class.type: boolean
focal_class.var_name: _schedulerDisabled
focal_class.file: server/src/main/java/com/cloud/network/security/SecurityGroupManagerImpl2.java
focal_class.identifier: SecurityGroupManagerImpl2
focal_class.class_method_signature: SecurityGroupManagerImpl2.createThreadPools()
focal_class.full_signature: @Override protected void createThreadPools()
focal_class.identifier: createThreadPools
focal_class.modifiers: @Override protected
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void createThreadPools()
focal_class.class_method_signature: SecurityGroupManagerImpl2.scheduleRulesetUpdateToHosts(List<Long> affectedVms, boolean updateSeqno, Long delayMs)
focal_class.full_signature: @Override //@DB public void scheduleRulesetUpdateToHosts(List<Long> affectedVms, boolean updateSeqno, Long delayMs)
focal_class.identifier: scheduleRulesetUpdateToHosts
focal_class.modifiers: @Override //@DB public
focal_class.parameters: (List<Long> affectedVms, boolean updateSeqno, Long delayMs)
focal_class.return: void
focal_class.signature: void scheduleRulesetUpdateToHosts(List<Long> affectedVms, boolean updateSeqno, Long delayMs)
focal_class.class_method_signature: SecurityGroupManagerImpl2.start()
focal_class.full_signature: @Override public boolean start()
focal_class.identifier: start
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean start()
focal_class.class_method_signature: SecurityGroupManagerImpl2.work()
focal_class.full_signature: @Override public void work()
focal_class.identifier: work
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void work()
focal_class.class_method_signature: SecurityGroupManagerImpl2.sendRulesetUpdates(SecurityGroupWork work)
focal_class.full_signature: public void sendRulesetUpdates(SecurityGroupWork work)
focal_class.identifier: sendRulesetUpdates
focal_class.modifiers: public
focal_class.parameters: (SecurityGroupWork work)
focal_class.return: void
focal_class.signature: void sendRulesetUpdates(SecurityGroupWork work)
focal_class.class_method_signature: SecurityGroupManagerImpl2.cleanupFinishedWork()
focal_class.full_signature: @Override public void cleanupFinishedWork()
focal_class.identifier: cleanupFinishedWork
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void cleanupFinishedWork()
focal_class.class_method_signature: SecurityGroupManagerImpl2.generateRulesForVM(Long userVmId, SecurityRuleType type)
focal_class.full_signature: @Override protected Map<PortAndProto, Set<String>> generateRulesForVM(Long userVmId, SecurityRuleType type)
focal_class.identifier: generateRulesForVM
focal_class.modifiers: @Override protected
focal_class.parameters: (Long userVmId, SecurityRuleType type)
focal_class.return: Map<PortAndProto, Set<String>>
focal_class.signature: Map<PortAndProto, Set<String>> generateRulesForVM(Long userVmId, SecurityRuleType type)
focal_class.class_method_signature: SecurityGroupManagerImpl2.getQueueSize()
focal_class.full_signature: public int getQueueSize()
focal_class.identifier: getQueueSize
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getQueueSize()
focal_class.class_method_signature: SecurityGroupManagerImpl2.getWorkQueue()
focal_class.full_signature: public SecurityGroupWorkQueue getWorkQueue()
focal_class.identifier: getWorkQueue
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: SecurityGroupWorkQueue
focal_class.signature: SecurityGroupWorkQueue getWorkQueue()
focal_class.class_method_signature: SecurityGroupManagerImpl2.configure(String name, Map<String, Object> params)
focal_class.full_signature: @Override public boolean configure(String name, Map<String, Object> params)
focal_class.identifier: configure
focal_class.modifiers: @Override public
focal_class.parameters: (String name, Map<String, Object> params)
focal_class.return: boolean
focal_class.signature: boolean configure(String name, Map<String, Object> params)
focal_class.class_method_signature: SecurityGroupManagerImpl2.disableSchedulerForVm(Long vmId, boolean disable)
focal_class.full_signature: public void disableSchedulerForVm(Long vmId, boolean disable)
focal_class.identifier: disableSchedulerForVm
focal_class.modifiers: public
focal_class.parameters: (Long vmId, boolean disable)
focal_class.return: void
focal_class.signature: void disableSchedulerForVm(Long vmId, boolean disable)
focal_class.class_method_signature: SecurityGroupManagerImpl2.getDisabledVmsForScheduler()
focal_class.full_signature: public Long[] getDisabledVmsForScheduler()
focal_class.identifier: getDisabledVmsForScheduler
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Long[]
focal_class.signature: Long[] getDisabledVmsForScheduler()
focal_class.class_method_signature: SecurityGroupManagerImpl2.enableAllVmsForScheduler()
focal_class.full_signature: public void enableAllVmsForScheduler()
focal_class.identifier: enableAllVmsForScheduler
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void enableAllVmsForScheduler()
focal_class.class_method_signature: SecurityGroupManagerImpl2.disableScheduler(boolean disable)
focal_class.full_signature: public void disableScheduler(boolean disable)
focal_class.identifier: disableScheduler
focal_class.modifiers: public
focal_class.parameters: (boolean disable)
focal_class.return: void
focal_class.signature: void disableScheduler(boolean disable)
focal_class.class_method_signature: SecurityGroupManagerImpl2.isSchedulerDisabled()
focal_class.full_signature: public boolean isSchedulerDisabled()
focal_class.identifier: isSchedulerDisabled
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isSchedulerDisabled()
focal_class.class_method_signature: SecurityGroupManagerImpl2.clearWorkQueue()
focal_class.full_signature: public void clearWorkQueue()
focal_class.identifier: clearWorkQueue
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void clearWorkQueue()
focal_class.superclass: extends SecurityGroupManagerImpl
focal_method.body: @Override
      public void work() {
          s_logger.trace("Checking the work queue");
          List<SecurityGroupWork> workItems;
          try {
              workItems = _workQueue.getWork(1);
              for (SecurityGroupWork work : workItems) {
                  if (s_logger.isTraceEnabled()) {
                      s_logger.trace("Processing " + work.getInstanceId());
                  }
  
                  try {
                      VmRulesetLogVO rulesetLog = _rulesetLogDao.findByVmId(work.getInstanceId());
                      if (rulesetLog == null) {
                          s_logger.warn("Could not find ruleset log for vm " + work.getInstanceId());
                          continue;
                      }
                      work.setLogsequenceNumber(rulesetLog.getLogsequence());
                      sendRulesetUpdates(work);
                      _mBean.logUpdateDetails(work.getInstanceId(), work.getLogsequenceNumber());
                  } catch (Exception e) {
                      s_logger.error("Problem during SG work " + work, e);
                      work.setStep(Step.Error);
                  }
              }
          } catch (InterruptedException e1) {
              s_logger.warn("SG work: caught InterruptException", e1);
          }
      }
focal_method.class_method_signature: SecurityGroupManagerImpl2.work()
focal_method.full_signature: @Override public void work()
focal_method.identifier: work
focal_method.invocations: trace getWork isTraceEnabled trace getInstanceId findByVmId getInstanceId warn getInstanceId setLogsequenceNumber getLogsequence sendRulesetUpdates logUpdateDetails getInstanceId getLogsequenceNumber error setStep warn
focal_method.modifiers: @Override public
focal_method.parameters: ()
focal_method.return: void
focal_method.signature: void work()