public static Collection<ArchetypeReference> getArchetypeReferences(Guide guide, DateTime dateTime, boolean resolvePredicates) { Collection<ArchetypeReference> archetypeReferences = new ArrayList<>(); Map<String, ArchetypeBinding> abs = guide.getDefinition().getArchetypeBindings(); if (abs != null) { for (ArchetypeBinding archetypeBinding : abs.values()) { ArchetypeReference ar = getGeneratedArchetypeReference(archetypeBinding, guide.getId(), guide, dateTime, resolvePredicates); archetypeReferences.add(ar); } } return archetypeReferences; }
private Map<String, String> generateGtCodeToArchetypeMap(Guide guide) { Map<String, String> gtCodeToArchetypeKey = new HashMap<>(); for (ArchetypeBinding archetypeBinding : guide.getDefinition().getArchetypeBindings().values()) { String archetypeKey = getArchetypeKey(archetypeBinding); for (ElementBinding elementBinding : archetypeBinding.getElements().values()) { gtCodeToArchetypeKey.put(elementBinding.getId(), archetypeKey); } } return gtCodeToArchetypeKey; }
public static Map<String, String> getGtCodeElementIdMap(Guide guide, String domainId) { Map<String, String> gtCodeElementIdMap = new HashMap<>(); if (guide.getDefinition() == null || guide.getDefinition().getArchetypeBindings() == null) { return gtCodeElementIdMap; } for (ArchetypeBinding archetypeBinding : guide.getDefinition().getArchetypeBindings().values()) { if (domainId == null || archetypeBinding.getDomain() == null || domainId.equals(archetypeBinding.getDomain())) { for (ElementBinding elementBinding : archetypeBinding.getElements().values()) { gtCodeElementIdMap.put(elementBinding.getId(), archetypeBinding.getArchetypeId() + elementBinding.getPath()); } } } return gtCodeElementIdMap; } }
private Map<RuleReference, ElementInstance> generateElementInstanceByRuleReferenceMap() { Map<RuleReference, ElementInstance> allElementInstancesByRuleReference = new HashMap<>(); for (Guide guide : guideMap.values()) { if (guide.getDefinition() != null) { for (ArchetypeBinding archetypeBinding : guide.getDefinition().getArchetypeBindings().values()) { ArchetypeReference archetypeReference = GuideUtil.getGeneratedArchetypeReference(archetypeBinding, guide.getId()); for (ElementInstance elementInstance : archetypeReference.getElementInstancesMap().values()) { if (elementInstance instanceof GeneratedElementInstance) { GeneratedElementInstance generatedElementInstance = (GeneratedElementInstance) elementInstance; for (RuleReference ruleReference : generatedElementInstance.getRuleReferences()) { allElementInstancesByRuleReference.put(ruleReference, elementInstance); } } } } } } return allElementInstancesByRuleReference; }
public void generateGTCodeElementMap(Guide guide) throws InternalErrorException { gtCodeElementMap = new HashMap<>(); ArchetypeElementInstantiationRuleLine dummyAEIRL = new ArchetypeElementInstantiationRuleLine(new ArchetypeInstantiationRuleLine()); dummyAEIRL.setReadableGuide(readableGuide); dummyAEIRL.setGTCode("currentDateTime"); gtCodeElementMap.put("currentDateTime", dummyAEIRL); GuideDefinition guideDefinition = guide.getDefinition(); Map<String, ArchetypeBinding> ab = guideDefinition.getArchetypeBindings(); for (ArchetypeBinding archetypeBinding : ab.values()) { generateGtCodeMapForArchetypeBinding(archetypeBinding); } generateGTCodeMapForRules(guide); }
private void generateArchetypeNodes(Guide guide) { for (ArchetypeBinding archetypeBinding : guide.getDefinition().getArchetypeBindings().values()) { String archetypeKey = getArchetypeKey(archetypeBinding); String label = archetypeBinding.getDomain() + " | " + archetypeBinding.getArchetypeId(); Color archetypeBindingColor = getArchetypeNodeColor(archetypeBinding); GraphNode archetypeNode = new GraphNodeBuilder() .setLabel(label) .setShape(GraphNode.Shape.RECTANGLE) .setFillColor(archetypeBindingColor) .createGraphNode(); getArchetypeNodesMap().put(archetypeKey, archetypeNode); } }
GuideDefinition guideDefinition = guide.getDefinition(); if (guideDefinition != null) { Map<String, ArchetypeBinding> archetypeBindings = guideDefinition.getArchetypeBindings(); if (archetypeBindings != null) { for (ArchetypeBinding archetypeBinding : archetypeBindings.values()) {
private void bindExpressions(Guide guide) throws Exception { List<String> preConditions = guide.getDefinition().getPreConditions(); List<ExpressionItem> preConditionExpressions = parseExpressions(preConditions); guide.getDefinition().setPreConditionExpressions(preConditionExpressions); List<String> defaultActions = guide.getDefinition().getDefaultActions(); List<ExpressionItem> expressionItems = parseExpressions(defaultActions); List<AssignmentExpression> defaultActionExpressions = toAssignments(expressionItems); guide.getDefinition().setDefaultActionExpressions(defaultActionExpressions); GuideDefinition definition = guide.getDefinition(); if (definition.getArchetypeBindings() != null) { Map<String, ArchetypeBinding> bindings = definition .getArchetypeBindings(); for (ArchetypeBinding binding : bindings.values()) { List<ExpressionItem> predicateStatements = parseExpressions(binding.getPredicates()); binding.setPredicateStatements(predicateStatements); } if (definition.getRules() != null) { Collection<Rule> rules = definition.getRules().values(); for (Rule rule : rules) { List<ExpressionItem> whenStatements = parseExpressions(rule.getWhen()); rule.setWhenStatements(whenStatements); List<ExpressionItem> thenExpressionItems = parseExpressions(rule.getThen()); List<AssignmentExpression> thenStatements = toAssignments(thenExpressionItems); rule.setThenStatements(thenStatements); } } } }