private String getCypher(ExecutableRule executableRule) { Executable executable = executableRule.getExecutable(); if (executable instanceof CypherExecutable) { return ((CypherExecutable) executable).getStatement(); } return null; } }
private Executable<?> getExecutable(AbstractBlock block, Attributes attributes) { String language; if (SOURCE.equals(block.getStyle())) { language = attributes.getString(LANGUAGE); String source = unescapeHtml(block.getContent()); if (CYPHER.equals(language)) { return new CypherExecutable(source); } else { return new ScriptExecutable(language.toLowerCase(), source); } } else { // Use style for native Asciidoc blocks language = block.getStyle(); if (language == null) { // PlantUML extension language = (String) block.getAttributes().get(1); } if (language != null) { return new SourceExecutable<>(language.toLowerCase(), block, AbstractBlock.class); } else { LOGGER.warn("Cannot determine language for '" + block + "'."); } } return null; }
CypherExecutable executable = new CypherExecutable(cypher); Map<String, Boolean> required = extractRequiredConcepts(map, id); Map<String, Parameter> parameters = extractParameters(map, id, context);
Result<CompositeRowObject> queryResult = store.executeQuery(((CypherExecutable) executable).getStatement(), queryParameters);
private Executable<?> createExecutable(ExecutableRuleType executableRuleType) throws RuleException { SourceType source = executableRuleType.getSource(); if (source != null) { return new SourceExecutable<>(source.getLanguage().toLowerCase(), source.getValue(), String.class); } // for compatibility String cypher = executableRuleType.getCypher(); if (cypher != null) { return new CypherExecutable(cypher); } SourceType scriptType = executableRuleType.getScript(); if (scriptType != null) { return new ScriptExecutable(scriptType.getLanguage().toLowerCase(), scriptType.getValue()); } throw new RuleException("Cannot determine executable for " + executableRuleType.getId()); }
/** * Convert a given metric group object into a JSON object. * * @param metricGroup * the metric group object to convert * @return a JSON object * @throws JSONException */ private JSONObject metricGroupAsJsonObject(MetricGroup metricGroup) throws JSONException { JSONObject object = new JSONObject(); object.put(JSON_OBJECT_KEY_ID, metricGroup.getId()); object.put(JSON_OBJECT_KEY_DESCRIPTION, metricGroup.getDescription()); JSONArray metricsArray = new JSONArray(); for (Metric metric : metricGroup.getMetrics().values()) { JSONObject metricObject = new JSONObject(); metricObject.put(JSON_OBJECT_KEY_ID, metric.getId()); metricObject.put(JSON_OBJECT_KEY_DESCRIPTION, metric.getDescription()); metricObject.put(JSON_OBJECT_KEY_CYPHER, ((CypherExecutable) metric.getExecutable()).getStatement()); JSONArray parameterArray = new JSONArray(); for (String parameterKey : metric.getParameterTypes().keySet()) { parameterArray.put(parameterKey); } metricObject.put(JSON_OBJECT_KEY_PARAMETERS, parameterArray); metricsArray.put(metricObject); } object.put(JSON_OBJECT_KEY_METRICS, metricsArray); return object; }