19 package org.turro.web.funnel.model;
21 import java.util.Collections;
22 import java.util.ListIterator;
24 import java.util.TreeSet;
25 import java.util.stream.Collectors;
26 import org.turro.elephant.context.IConstructor;
27 import org.turro.elephant.entities.web.WebGoal;
28 import org.turro.elephant.entities.web.WebItemType;
29 import org.turro.elephant.web.actions.WebLink;
30 import org.turro.elephant.web.tags.SessionTags;
31 import org.turro.graph.GraphUtil;
32 import org.turro.web.funnel.SessionGoals;
33 import org.turro.web.funnel.graph.FunnelGraph;
34 import org.turro.web.funnel.graph.FunnelVertex;
86 public Set<FunnelVertex>
nexts() {
115 return graph.
getGoal(goalAction);
121 case TARGET ->
targets().stream()
122 .filter(v -> !v.equals(vertex))
123 .collect(Collectors.toCollection(TreeSet::new));
125 .filter(v -> !v.equals(vertex))
126 .collect(Collectors.toCollection(TreeSet::new));
128 .filter(v -> !v.equals(vertex))
129 .collect(Collectors.toCollection(TreeSet::new));
130 default -> Collections.EMPTY_SET;
144 ListIterator<String> iterator = sessionTags.tags().listIterator(sessionTags.tags().size() - 1);
145 while(iterator.hasPrevious()) {
146 String webTag = iterator.previous();
148 if(vertex !=
null && type.equals(vertex.
getItem().
getType()))
return vertex;
163 private boolean useTags;
169 if(!sessionGoals.goals().isEmpty()) {
170 GraphUtil.removeIfNoneOfSelfOrSuccessors(graph, v -> !Collections.disjoint(sessionGoals.goals(), v.getGoalActions()));
Set< WebGoal > getGoals()
Set< WebLink > getExternalLinks()
static SessionGoals get()
static FunnelGraph load()
FunnelVertex getVertex(String webTag)
WebGoal getGoal(String goalAction)
Set< FunnelVertex > getTargets()
Set< FunnelVertex > getServices()
Set< FunnelVertex > getSolutions()
Set< FunnelVertex > getServices()
Set< FunnelVertex > getSolutions()
Set< FunnelVertex > getTargets()
WebItemType getActingType()
Set< FunnelVertex > getNexts()
Set< FunnelVertex > targets()
Set< FunnelVertex > nexts()
static FunnelVertices load(IConstructor constructor)
Set< FunnelVertex > services()
FunnelVertex currentSolution()
FunnelVertex getVertex(String webTag)
Set< FunnelVertex > siblings()
FunnelVertex currentService()
WebGoal getGoal(String goalAction)
FunnelVertices bySelection(boolean value)
FunnelVertex currentTarget()
Set< WebLink > externals()
Set< FunnelVertex > solutions()