List of usage examples for org.json.simple JSONObject size
int size();
From source file:org.apache.metron.alerts.adapters.ThreatAlertsAdapter.java
@SuppressWarnings("unchecked") @Override//from w ww . ja va 2 s. co m public Map<String, JSONObject> alert(JSONObject raw_message) { System.out.println("LOOKING FOR ENRICHMENT TAG: " + enrichment_tag); Map<String, JSONObject> alerts = new HashMap<String, JSONObject>(); JSONObject content = (JSONObject) raw_message.get("message"); JSONObject enrichment = null; if (raw_message.containsKey("enrichment")) enrichment = (JSONObject) raw_message.get("enrichment"); else return null; if (enrichment.containsKey(enrichment_tag)) { System.out.println("FOUND TAG: " + enrichment_tag); JSONObject threat = (JSONObject) enrichment.get(enrichment_tag); int cnt = 0; Object enriched_key = null; for (Object key : threat.keySet()) { JSONObject tmp = (JSONObject) threat.get(key); cnt = cnt + tmp.size(); if (tmp.size() > 0) enriched_key = key; } if (cnt == 0) { System.out.println("TAG HAS NO ELEMENTS"); return null; } JSONObject alert = new JSONObject(); String source = "unknown"; String dest = "unknown"; String host = "unknown"; if (content.containsKey("ip_src_addr")) { source = content.get("ip_src_addr").toString(); if (RangeChecker.checkRange(loaded_whitelist, source)) host = source; } if (content.containsKey("ip_dst_addr")) { dest = content.get("ip_dst_addr").toString(); if (RangeChecker.checkRange(loaded_whitelist, dest)) host = dest; } JSONObject threatQualifier = (JSONObject) threat.get(enriched_key); alert.put("designated_host", host); String description = new StringBuilder().append("Threat Intelligence match for ") .append(content.get(enriched_key).toString()).append(" from source: ") .append(threatQualifier.keySet().iterator().next().toString()).toString(); alert.put("description", description); alert.put("priority", "MED"); String alert_id = generateAlertId(source, dest, 0); alert.put("alert_id", alert_id); alerts.put(alert_id, alert); alert.put("enrichment", enrichment); return alerts; } else { System.out.println("DID NOT FIND TAG: " + enrichment_tag); return null; } }
From source file:org.apache.metron.parsers.GrokParser.java
@SuppressWarnings("unchecked") private Optional<MessageParserResult<JSONObject>> parseMultiLine(byte[] rawMessage) { List<JSONObject> messages = new ArrayList<>(); Map<Object, Throwable> errors = new HashMap<>(); String originalMessage = null; // read the incoming raw data as if it may have multiple lines of logs // if there is only only one line, it will just get processed. try (BufferedReader reader = new BufferedReader( new StringReader(new String(rawMessage, StandardCharsets.UTF_8)))) { while ((originalMessage = reader.readLine()) != null) { LOG.debug("Grok parser parsing message: {}", originalMessage); try { Match gm = grok.match(originalMessage); gm.captures();//w ww .ja v a2 s .c om JSONObject message = new JSONObject(); message.putAll(gm.toMap()); if (message.size() == 0) { Throwable rte = new RuntimeException( "Grok statement produced a null message. Original message was: " + originalMessage + " and the parsed message was: " + message + " . Check the pattern at: " + grokPath); errors.put(originalMessage, rte); continue; } message.put("original_string", originalMessage); for (String timeField : timeFields) { String fieldValue = (String) message.get(timeField); if (fieldValue != null) { message.put(timeField, toEpoch(fieldValue)); } } if (timestampField != null) { message.put(Constants.Fields.TIMESTAMP.getName(), formatTimestamp(message.get(timestampField))); } message.remove(patternLabel); postParse(message); messages.add(message); LOG.debug("Grok parser parsed message: {}", message); } catch (Exception e) { LOG.error(e.getMessage(), e); errors.put(originalMessage, e); } } } catch (IOException e) { LOG.error(e.getMessage(), e); Exception innerException = new IllegalStateException( "Grok parser Error: " + e.getMessage() + " on " + originalMessage, e); return Optional.of(new DefaultMessageParserResult<>(innerException)); } return Optional.of(new DefaultMessageParserResult<>(messages, errors)); }
From source file:org.apache.metron.parsers.GrokParser.java
@SuppressWarnings("unchecked") private Optional<MessageParserResult<JSONObject>> parseSingleLine(byte[] rawMessage) { List<JSONObject> messages = new ArrayList<>(); Map<Object, Throwable> errors = new HashMap<>(); String originalMessage = null; try {/*from w w w .j a v a 2 s . co m*/ originalMessage = new String(rawMessage, "UTF-8"); LOG.debug("Grok parser parsing message: {}", originalMessage); Match gm = grok.match(originalMessage); gm.captures(); JSONObject message = new JSONObject(); message.putAll(gm.toMap()); if (message.size() == 0) { Throwable rte = new RuntimeException( "Grok statement produced a null message. Original message was: " + originalMessage + " and the parsed message was: " + message + " . Check the pattern at: " + grokPath); errors.put(originalMessage, rte); } else { message.put("original_string", originalMessage); for (String timeField : timeFields) { String fieldValue = (String) message.get(timeField); if (fieldValue != null) { message.put(timeField, toEpoch(fieldValue)); } } if (timestampField != null) { message.put(Constants.Fields.TIMESTAMP.getName(), formatTimestamp(message.get(timestampField))); } message.remove(patternLabel); postParse(message); messages.add(message); LOG.debug("Grok parser parsed message: {}", message); } } catch (Exception e) { LOG.error(e.getMessage(), e); Exception innerException = new IllegalStateException( "Grok parser Error: " + e.getMessage() + " on " + originalMessage, e); return Optional.of(new DefaultMessageParserResult<>(innerException)); } return Optional.of(new DefaultMessageParserResult<JSONObject>(messages, errors)); }
From source file:org.jolokia.client.request.J4pWriteIntegrationTest.java
@Test public void mxMap() throws MalformedObjectNameException, J4pException { final Map<String, Long> input = new HashMap<String, Long>(); input.put("roland", 13L); input.put("heino", 19L); checkMxWrite(new String[] { "POST" }, "Map", null, input, new ResponseAssertion() { public void assertResponse(J4pResponse resp) { JSONObject val = (JSONObject) resp.getValue(); assertEquals(val.size(), input.size()); for (String key : input.keySet()) { assertEquals(input.get(key), val.get(key)); }/*from w ww . j a v a2 s . c om*/ } }); }
From source file:org.jolokia.converter.json.BeanExtractorTest.java
@Test public void simple() throws AttributeNotFoundException { JSONObject res = (JSONObject) extractJson(this); assertEquals(res.get("number"), 10); assertEquals(res.get("text"), "Test"); assertFalse((Boolean) res.get("flag")); assertEquals(((JSONObject) res.get("inner")).get("innerText"), "innerValue"); assertNull(res.get("nulli")); assertTrue(!res.containsKey("forbiddenStream")); assertTrue(res.containsKey("nulli")); assertEquals(res.get("nacked"), "nacked object"); assertEquals(res.get("self"), "[this]"); JSONObject inner = (JSONObject) extractJson(this, "inner"); assertEquals(inner.get("innerText"), "innerValue"); JSONObject innerWithWildcardPath = (JSONObject) extractJson(this, null, "innerDate"); assertEquals(innerWithWildcardPath.size(), 1); assertTrue((Long) ((JSONObject) innerWithWildcardPath.get("inner")).get("millis") <= new Date().getTime()); BeanExtractorTest test = (BeanExtractorTest) extractObject(this); assertEquals(test, this); Date date = (Date) extractObject(this, "inner", "innerDate"); assertTrue(date.getTime() <= new Date().getTime()); }
From source file:org.jolokia.converter.json.TabularDataExtractorTest.java
@Test public void extractMapAsJson() throws OpenDataException, AttributeNotFoundException { TabularData data = getMapTabularData(STRING, "key1", TEST_VALUE); JSONObject result = (JSONObject) extract(true, data); assertNull(result.get("key2")); assertEquals(result.get("key1"), TEST_VALUE); assertEquals(result.size(), 1); }
From source file:org.jolokia.converter.json.TabularDataExtractorTest.java
@Test public void extractMapAsJsonWithWildcardPath() throws OpenDataException, AttributeNotFoundException, MalformedObjectNameException { TabularData data = prepareMxMBeanMapData("key1", "test:type=bla", "key2", "java.lang:type=Memory"); JSONObject result = (JSONObject) extract(true, data, null, "domain"); assertEquals(result.size(), 2); assertEquals(result.get("key1"), "test"); assertEquals(result.get("key2"), "java.lang"); }
From source file:org.jolokia.converter.json.TabularDataExtractorTest.java
@Test public void extractMapWithComplexType() throws OpenDataException, AttributeNotFoundException { CompositeTypeAndJson cdj = new CompositeTypeAndJson(STRING, "name", "roland", INTEGER, "date", 1968); TabularData data = getMapTabularData(cdj.getType(), cdj.getCompositeData(), TEST_VALUE); JSONObject result = (JSONObject) extract(true, data); assertEquals(result.size(), 2); assertTrue(result.containsKey("indexNames")); assertTrue(result.containsKey("values")); List indexNames = (List) result.get("indexNames"); assertEquals(indexNames.size(), 1);/*w ww . j a v a2s .co m*/ assertTrue(indexNames.contains("key")); List values = (List) result.get("values"); assertEquals(values.size(), 1); JSONObject value = (JSONObject) values.get(0); JSONObject key = (JSONObject) value.get("key"); assertEquals(key.get("name"), "roland"); assertEquals(key.get("date"), 1968); assertEquals(key.size(), 2); assertEquals(value.get("value"), TEST_VALUE); assertEquals(key.size(), 2); }
From source file:org.jolokia.converter.json.TabularDataExtractorTest.java
@Test void extractGenericTabularDataWithJson() throws OpenDataException, AttributeNotFoundException { TabularData data = getComplexTabularData(); JSONObject result = (JSONObject) extract(true, data); assertEquals(result.size(), 2); assertTrue(result.containsKey("meyer")); assertTrue(result.containsKey("huber")); JSONObject meyerMap = (JSONObject) result.get("meyer"); assertTrue(meyerMap.containsKey("xaver")); assertTrue(meyerMap.containsKey("zensi")); assertEquals(meyerMap.size(), 2);/*from ww w . jav a2s . c o m*/ JSONObject zensiMap = (JSONObject) meyerMap.get("zensi"); assertEquals(zensiMap.get("name"), "meyer"); assertEquals(zensiMap.get("firstname"), "zensi"); assertEquals(zensiMap.get("age"), 28); assertEquals(zensiMap.get("male"), false); assertEquals(zensiMap.size(), 4); }
From source file:org.jolokia.converter.json.TabularDataExtractorTest.java
@Test void extractGenericTabularDataWithPath() throws OpenDataException, AttributeNotFoundException { TabularData data = getComplexTabularData(); JSONObject result = (JSONObject) extract(true, data, "meyer", "xaver"); assertEquals(result.size(), 4); assertEquals(result.get("age"), 12); assertEquals(result.get("male"), true); }