test_class.declarator: store
test_class.modifier: private
test_class.original_string: private HistoryStore store;
test_class.type: HistoryStore
test_class.var_name: store
test_class.file: agent/core/src/test/java/org/jolokia/history/HistoryStoreTest.java
test_class.identifier: HistoryStoreTest
test_case.body: @Test
      public void patternConfigure() throws MalformedObjectNameException {
          store.configure(new HistoryKey("java.lang:type=Memory","HeapMemoryUsage",null,null), new HistoryLimit(10, 0L));
          store.configure(new HistoryKey("java.lang:*", "HeapMemoryUsage", null, null), new HistoryLimit(3, 0L));
          JmxReadRequest req =
                  new JmxRequestBuilder(READ,"java.lang:type=Memory")
                          .attribute("HeapMemoryUsage")
                          .build();
  
          JSONArray history = updateNTimesAsList(req, 5, 4711);
          assertEquals(history.size(), 3);
      }
test_case.class_method_signature: HistoryStoreTest.patternConfigure()
test_case.full_signature: @Test public void patternConfigure()
test_case.identifier: patternConfigure
test_case.invocations: configure configure build attribute updateNTimesAsList assertEquals size
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void patternConfigure()
focal_class.declarator: globalMaxEntries
focal_class.modifier: private
focal_class.original_string: private int globalMaxEntries;
focal_class.type: int
focal_class.var_name: globalMaxEntries
focal_class.declarator: historyStore
focal_class.modifier: private
focal_class.original_string: private Map<HistoryKey, HistoryEntry> historyStore;
focal_class.type: Map<HistoryKey, HistoryEntry>
focal_class.var_name: historyStore
focal_class.declarator: patterns
focal_class.modifier: private
focal_class.original_string: private Map<HistoryKey, HistoryLimit> patterns;
focal_class.type: Map<HistoryKey, HistoryLimit>
focal_class.var_name: patterns
focal_class.declarator: KEY_HISTORY = "history"
focal_class.modifier: private static final
focal_class.original_string: private static final String KEY_HISTORY = "history";
focal_class.type: String
focal_class.var_name: KEY_HISTORY
focal_class.declarator: KEY_VALUE = "value"
focal_class.modifier: private static final
focal_class.original_string: private static final String KEY_VALUE = "value";
focal_class.type: String
focal_class.var_name: KEY_VALUE
focal_class.declarator: KEY_TIMESTAMP = "timestamp"
focal_class.modifier: private static final
focal_class.original_string: private static final String KEY_TIMESTAMP = "timestamp";
focal_class.type: String
focal_class.var_name: KEY_TIMESTAMP
focal_class.declarator: historyUpdaters = new HashMap<RequestType, HistoryUpdater>()
focal_class.modifier: private
focal_class.original_string: private Map<RequestType,HistoryUpdater> historyUpdaters = new HashMap<RequestType, HistoryUpdater>();
focal_class.type: Map<RequestType,HistoryUpdater>
focal_class.var_name: historyUpdaters
focal_class.file: agent/core/src/main/java/org/jolokia/history/HistoryStore.java
focal_class.identifier: HistoryStore
focal_class.class_method_signature: HistoryStore.HistoryStore(int pTotalMaxEntries)
focal_class.full_signature: public  HistoryStore(int pTotalMaxEntries)
focal_class.identifier: HistoryStore
focal_class.modifiers: public
focal_class.parameters: (int pTotalMaxEntries)
focal_class.signature:  HistoryStore(int pTotalMaxEntries)
focal_class.class_method_signature: HistoryStore.getGlobalMaxEntries()
focal_class.full_signature: public synchronized int getGlobalMaxEntries()
focal_class.identifier: getGlobalMaxEntries
focal_class.modifiers: public synchronized
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getGlobalMaxEntries()
focal_class.class_method_signature: HistoryStore.setGlobalMaxEntries(int pGlobalMaxEntries)
focal_class.full_signature: public synchronized void setGlobalMaxEntries(int pGlobalMaxEntries)
focal_class.identifier: setGlobalMaxEntries
focal_class.modifiers: public synchronized
focal_class.parameters: (int pGlobalMaxEntries)
focal_class.return: void
focal_class.signature: void setGlobalMaxEntries(int pGlobalMaxEntries)
focal_class.class_method_signature: HistoryStore.configure(HistoryKey pKey, HistoryLimit pHistoryLimit)
focal_class.full_signature: public synchronized void configure(HistoryKey pKey, HistoryLimit pHistoryLimit)
focal_class.identifier: configure
focal_class.modifiers: public synchronized
focal_class.parameters: (HistoryKey pKey, HistoryLimit pHistoryLimit)
focal_class.return: void
focal_class.signature: void configure(HistoryKey pKey, HistoryLimit pHistoryLimit)
focal_class.class_method_signature: HistoryStore.reset()
focal_class.full_signature: public synchronized void reset()
focal_class.identifier: reset
focal_class.modifiers: public synchronized
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void reset()
focal_class.class_method_signature: HistoryStore.updateAndAdd(JmxRequest pJmxReq, JSONObject pJson)
focal_class.full_signature: public synchronized void updateAndAdd(JmxRequest pJmxReq, JSONObject pJson)
focal_class.identifier: updateAndAdd
focal_class.modifiers: public synchronized
focal_class.parameters: (JmxRequest pJmxReq, JSONObject pJson)
focal_class.return: void
focal_class.signature: void updateAndAdd(JmxRequest pJmxReq, JSONObject pJson)
focal_class.class_method_signature: HistoryStore.getSize()
focal_class.full_signature: public synchronized int getSize()
focal_class.identifier: getSize
focal_class.modifiers: public synchronized
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getSize()
focal_class.class_method_signature: HistoryStore.initHistoryUpdaters()
focal_class.full_signature: private void initHistoryUpdaters()
focal_class.identifier: initHistoryUpdaters
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void initHistoryUpdaters()
focal_class.class_method_signature: HistoryStore.removeEntries(HistoryKey pKey)
focal_class.full_signature: private void removeEntries(HistoryKey pKey)
focal_class.identifier: removeEntries
focal_class.modifiers: private
focal_class.parameters: (HistoryKey pKey)
focal_class.return: void
focal_class.signature: void removeEntries(HistoryKey pKey)
focal_class.class_method_signature: HistoryStore.updateReadHistory(JmxReadRequest pJmxReq, JSONObject pJson, long pTimestamp)
focal_class.full_signature: private void updateReadHistory(JmxReadRequest pJmxReq, JSONObject pJson, long pTimestamp)
focal_class.identifier: updateReadHistory
focal_class.modifiers: private
focal_class.parameters: (JmxReadRequest pJmxReq, JSONObject pJson, long pTimestamp)
focal_class.return: void
focal_class.signature: void updateReadHistory(JmxReadRequest pJmxReq, JSONObject pJson, long pTimestamp)
focal_class.class_method_signature: HistoryStore.updateHistoryForPatternRead(JmxReadRequest pJmxReq, long pTimestamp, Map<String, Object> pValues)
focal_class.full_signature: private JSONObject updateHistoryForPatternRead(JmxReadRequest pJmxReq, long pTimestamp, Map<String, Object> pValues)
focal_class.identifier: updateHistoryForPatternRead
focal_class.modifiers: private
focal_class.parameters: (JmxReadRequest pJmxReq, long pTimestamp, Map<String, Object> pValues)
focal_class.return: JSONObject
focal_class.signature: JSONObject updateHistoryForPatternRead(JmxReadRequest pJmxReq, long pTimestamp, Map<String, Object> pValues)
focal_class.class_method_signature: HistoryStore.addPathFilteredAttributeValue(JmxReadRequest pJmxReq, long pTimestamp, String pBeanName, Object pValue)
focal_class.full_signature: private JSONObject addPathFilteredAttributeValue(JmxReadRequest pJmxReq, long pTimestamp, String pBeanName, Object pValue)
focal_class.identifier: addPathFilteredAttributeValue
focal_class.modifiers: private
focal_class.parameters: (JmxReadRequest pJmxReq, long pTimestamp, String pBeanName, Object pValue)
focal_class.return: JSONObject
focal_class.signature: JSONObject addPathFilteredAttributeValue(JmxReadRequest pJmxReq, long pTimestamp, String pBeanName, Object pValue)
focal_class.class_method_signature: HistoryStore.updateHistoryForPatternReadWithMBeanAsPath(JmxReadRequest pJmxReq, long pTimestamp, Map<String, Object> pValues)
focal_class.full_signature: private JSONObject updateHistoryForPatternReadWithMBeanAsPath(JmxReadRequest pJmxReq, long pTimestamp, Map<String, Object> pValues)
focal_class.identifier: updateHistoryForPatternReadWithMBeanAsPath
focal_class.modifiers: private
focal_class.parameters: (JmxReadRequest pJmxReq, long pTimestamp, Map<String, Object> pValues)
focal_class.return: JSONObject
focal_class.signature: JSONObject updateHistoryForPatternReadWithMBeanAsPath(JmxReadRequest pJmxReq, long pTimestamp, Map<String, Object> pValues)
focal_class.class_method_signature: HistoryStore.addMultipleAttributeValues(JmxRequest pJmxReq, Map<String, Object> pAttributesMap,
                                                    String pBeanName, long pTimestamp)
focal_class.full_signature: private JSONObject addMultipleAttributeValues(JmxRequest pJmxReq, Map<String, Object> pAttributesMap,
                                                    String pBeanName, long pTimestamp)
focal_class.identifier: addMultipleAttributeValues
focal_class.modifiers: private
focal_class.parameters: (JmxRequest pJmxReq, Map<String, Object> pAttributesMap,
                                                    String pBeanName, long pTimestamp)
focal_class.return: JSONObject
focal_class.signature: JSONObject addMultipleAttributeValues(JmxRequest pJmxReq, Map<String, Object> pAttributesMap,
                                                    String pBeanName, long pTimestamp)
focal_class.class_method_signature: HistoryStore.createHistoryKey(JmxRequest pJmxReq, String pBeanName, String pAttrName, String pPath)
focal_class.full_signature: private HistoryKey createHistoryKey(JmxRequest pJmxReq, String pBeanName, String pAttrName, String pPath)
focal_class.identifier: createHistoryKey
focal_class.modifiers: private
focal_class.parameters: (JmxRequest pJmxReq, String pBeanName, String pAttrName, String pPath)
focal_class.return: HistoryKey
focal_class.signature: HistoryKey createHistoryKey(JmxRequest pJmxReq, String pBeanName, String pAttrName, String pPath)
focal_class.class_method_signature: HistoryStore.addAttributeFromSingleValue(HistoryKey pKey, String pAttrName, Object pValue, long pTimestamp)
focal_class.full_signature: private JSONObject addAttributeFromSingleValue(HistoryKey pKey, String pAttrName, Object pValue, long pTimestamp)
focal_class.identifier: addAttributeFromSingleValue
focal_class.modifiers: private
focal_class.parameters: (HistoryKey pKey, String pAttrName, Object pValue, long pTimestamp)
focal_class.return: JSONObject
focal_class.signature: JSONObject addAttributeFromSingleValue(HistoryKey pKey, String pAttrName, Object pValue, long pTimestamp)
focal_class.class_method_signature: HistoryStore.addAttributeFromSingleValue(JSONObject pHistMap, HistoryKey pKey, String pAttrName,
                                               Object pValue, long pTimestamp)
focal_class.full_signature: private void addAttributeFromSingleValue(JSONObject pHistMap, HistoryKey pKey, String pAttrName,
                                               Object pValue, long pTimestamp)
focal_class.identifier: addAttributeFromSingleValue
focal_class.modifiers: private
focal_class.parameters: (JSONObject pHistMap, HistoryKey pKey, String pAttrName,
                                               Object pValue, long pTimestamp)
focal_class.return: void
focal_class.signature: void addAttributeFromSingleValue(JSONObject pHistMap, HistoryKey pKey, String pAttrName,
                                               Object pValue, long pTimestamp)
focal_class.class_method_signature: HistoryStore.addToHistoryEntryAndGetCurrentHistory(JSONObject pHistMap, HistoryEntry pEntry, String pAttrName,
                                                               Object pValue, long pTimestamp)
focal_class.full_signature: private JSONObject addToHistoryEntryAndGetCurrentHistory(JSONObject pHistMap, HistoryEntry pEntry, String pAttrName,
                                                               Object pValue, long pTimestamp)
focal_class.identifier: addToHistoryEntryAndGetCurrentHistory
focal_class.modifiers: private
focal_class.parameters: (JSONObject pHistMap, HistoryEntry pEntry, String pAttrName,
                                                               Object pValue, long pTimestamp)
focal_class.return: JSONObject
focal_class.signature: JSONObject addToHistoryEntryAndGetCurrentHistory(JSONObject pHistMap, HistoryEntry pEntry, String pAttrName,
                                                               Object pValue, long pTimestamp)
focal_class.class_method_signature: HistoryStore.getEntry(HistoryKey pKey,Object pValue,long pTimestamp)
focal_class.full_signature: private synchronized HistoryEntry getEntry(HistoryKey pKey,Object pValue,long pTimestamp)
focal_class.identifier: getEntry
focal_class.modifiers: private synchronized
focal_class.parameters: (HistoryKey pKey,Object pValue,long pTimestamp)
focal_class.return: HistoryEntry
focal_class.signature: HistoryEntry getEntry(HistoryKey pKey,Object pValue,long pTimestamp)
focal_method.body: public synchronized void configure(HistoryKey pKey, HistoryLimit pHistoryLimit) {
          // Remove entries if set to null
          if (pHistoryLimit == null) {
              removeEntries(pKey);
              return;
          }
          HistoryLimit limit = pHistoryLimit.respectGlobalMaxEntries(globalMaxEntries);
  
          if (pKey.isMBeanPattern()) {
              patterns.put(pKey,limit);
              // Trim all already stored keys
              for (HistoryKey key : historyStore.keySet()) {
                  if (pKey.matches(key)) {
                      HistoryEntry entry = historyStore.get(key);
                      entry.setLimit(limit);
                  }
              }
          } else {
              HistoryEntry entry = historyStore.get(pKey);
              if (entry != null) {
                  entry.setLimit(limit);
              } else {
                  entry = new HistoryEntry(limit);
                  historyStore.put(pKey,entry);
              }
          }
      }
focal_method.class_method_signature: HistoryStore.configure(HistoryKey pKey, HistoryLimit pHistoryLimit)
focal_method.full_signature: public synchronized void configure(HistoryKey pKey, HistoryLimit pHistoryLimit)
focal_method.identifier: configure
focal_method.invocations: removeEntries respectGlobalMaxEntries isMBeanPattern put keySet matches get setLimit get setLimit put
focal_method.modifiers: public synchronized
focal_method.parameters: (HistoryKey pKey, HistoryLimit pHistoryLimit)
focal_method.return: void
focal_method.signature: void configure(HistoryKey pKey, HistoryLimit pHistoryLimit)