Search in sources :

Example 21 with Tkn

use of com.redhat.devtools.intellij.tektoncd.tkn.Tkn in project intellij-tekton by redhat-developer.

the class TektonTreeStructure method getClusterTriggerBindingsNode.

private Object[] getClusterTriggerBindingsNode(ClusterTriggerBindingsNode element) {
    List<Object> ctbs = new ArrayList<>();
    try {
        Tkn tkn = element.getRoot().getTkn();
        tkn.getClusterTriggerBindings().forEach(template -> ctbs.add(new ClusterTriggerBindingNode(element.getRoot(), element, template)));
    } catch (IOException e) {
        ctbs.add(new MessageNode(element.getRoot(), element, "Failed to load cluster trigger bindings"));
    }
    return ctbs.toArray(new Object[ctbs.size()]);
}
Also used : Tkn(com.redhat.devtools.intellij.tektoncd.tkn.Tkn) ArrayList(java.util.ArrayList) IOException(java.io.IOException)

Example 22 with Tkn

use of com.redhat.devtools.intellij.tektoncd.tkn.Tkn in project intellij-tekton by redhat-developer.

the class TektonTreeStructure method getTasks.

private Object[] getTasks(TasksNode element) {
    List<Object> tasks = new ArrayList<>();
    try {
        Tkn tkn = element.getRoot().getTkn();
        tkn.getTasks(element.getParent().getName()).forEach(task -> tasks.add(new TaskNode(element.getRoot(), element, task.getMetadata().getName(), false)));
        watchNodes(tkn, tasks.toArray());
    } catch (IOException e) {
        tasks.add(new MessageNode(element.getRoot(), element, "Failed to load tasks"));
    }
    return tasks.toArray(new Object[tasks.size()]);
}
Also used : Tkn(com.redhat.devtools.intellij.tektoncd.tkn.Tkn) ArrayList(java.util.ArrayList) IOException(java.io.IOException)

Example 23 with Tkn

use of com.redhat.devtools.intellij.tektoncd.tkn.Tkn in project intellij-tekton by redhat-developer.

the class TektonTreeStructure method getPipelines.

private Object[] getPipelines(PipelinesNode element) {
    List<Object> pipelines = new ArrayList<>();
    try {
        Tkn tkn = element.getRoot().getTkn();
        tkn.getPipelines(element.getParent().getName()).forEach(pipeline -> pipelines.add(new PipelineNode(element.getRoot(), element, pipeline.getMetadata().getName())));
        watchNodes(tkn, pipelines.toArray());
    } catch (IOException e) {
        pipelines.add(new MessageNode(element.getRoot(), element, "Failed to load pipelines"));
    }
    return pipelines.toArray(new Object[pipelines.size()]);
}
Also used : Tkn(com.redhat.devtools.intellij.tektoncd.tkn.Tkn) ArrayList(java.util.ArrayList) IOException(java.io.IOException)

Example 24 with Tkn

use of com.redhat.devtools.intellij.tektoncd.tkn.Tkn in project intellij-tekton by redhat-developer.

the class TektonTreeStructure method getTriggerBindings.

private Object[] getTriggerBindings(TriggerBindingsNode element) {
    List<Object> triggerBindings = new ArrayList<>();
    try {
        Tkn tkn = element.getRoot().getTkn();
        tkn.getTriggerBindings(element.getNamespace()).forEach(template -> triggerBindings.add(new TriggerBindingNode(element.getRoot(), element, template)));
    } catch (IOException e) {
        triggerBindings.add(new MessageNode(element.getRoot(), element, "Failed to load triggerbindings"));
    }
    return triggerBindings.toArray(new Object[triggerBindings.size()]);
}
Also used : Tkn(com.redhat.devtools.intellij.tektoncd.tkn.Tkn) ArrayList(java.util.ArrayList) IOException(java.io.IOException)

Example 25 with Tkn

use of com.redhat.devtools.intellij.tektoncd.tkn.Tkn in project intellij-tekton by redhat-developer.

the class TektonTreeStructure method getChildElements.

@Override
public Object[] getChildElements(Object element) {
    Tkn tkn = root.getTkn();
    if (tkn != null) {
        if (element instanceof TektonRootNode) {
            return getFirstLevelNodes((TektonRootNode) element);
        }
        if (element instanceof NamespaceNode) {
            Object[] generalNodes = new Object[] { new PipelinesNode(((NamespaceNode) element).getRoot(), (NamespaceNode) element), new PipelineRunsNode(((NamespaceNode) element).getRoot(), (NamespaceNode) element), new TasksNode(((NamespaceNode) element).getRoot(), (NamespaceNode) element), new ClusterTasksNode(((NamespaceNode) element).getRoot(), (NamespaceNode) element), new TaskRunsNode(((NamespaceNode) element).getRoot(), (NamespaceNode) element), new ResourcesNode(((NamespaceNode) element).getRoot(), (NamespaceNode) element), new ConditionsNode(((NamespaceNode) element).getRoot(), (NamespaceNode) element) };
            if (!tkn.isTektonTriggersAware()) {
                watchNodes(tkn, generalNodes);
                return generalNodes;
            }
            Object[] triggersNode = new Object[] { new TriggerTemplatesNode(((NamespaceNode) element).getRoot(), (NamespaceNode) element), new TriggerBindingsNode(((NamespaceNode) element).getRoot(), (NamespaceNode) element), new ClusterTriggerBindingsNode(((NamespaceNode) element).getRoot(), (NamespaceNode) element), new EventListenersNode(((NamespaceNode) element).getRoot(), (NamespaceNode) element) };
            Object[] secondLevelNodes = ArrayUtils.addAll(generalNodes, triggersNode);
            watchNodes(tkn, secondLevelNodes);
            return secondLevelNodes;
        }
        if (element instanceof ConfigurationsNode) {
            return getConfigurationNodes((ConfigurationsNode) element);
        }
        if (element instanceof PipelinesNode) {
            return getPipelines((PipelinesNode) element);
        }
        if (element instanceof PipelineNode) {
            return getPipelineRuns((PipelineNode) element, ((PipelineNode) element).getName());
        }
        if (element instanceof PipelineRunsNode) {
            return getPipelineRuns((PipelineRunsNode) element, "");
        }
        if (element instanceof PipelineRunNode) {
            return getTaskRuns((PipelineRunNode) element);
        }
        if (element instanceof TasksNode) {
            return getTasks((TasksNode) element);
        }
        if (element instanceof TaskNode) {
            return getTaskRuns((TaskNode) element, ((TaskNode) element).getName());
        }
        if (element instanceof TaskRunNode) {
            ParentableNode parent = ((TaskRunNode) element).getParent();
            if (parent instanceof PipelineRunNode) {
                return getTaskRuns((TaskRunNode) element);
            } else {
                return getTaskRuns((TaskRunNode) element, Collections.emptyList(), false);
            }
        }
        if (element instanceof ClusterTasksNode) {
            return getClusterTasks((ClusterTasksNode) element);
        }
        if (element instanceof TaskRunsNode) {
            return getTaskRuns((TaskRunsNode) element, "");
        }
        if (element instanceof ResourcesNode) {
            return getResources((ResourcesNode) element);
        }
        if (element instanceof ConditionsNode) {
            return getConditions((ConditionsNode) element);
        }
        if (element instanceof TriggerTemplatesNode) {
            return getTriggerTemplates((TriggerTemplatesNode) element);
        }
        if (element instanceof TriggerBindingsNode) {
            return getTriggerBindings((TriggerBindingsNode) element);
        }
        if (element instanceof ClusterTriggerBindingsNode) {
            return getClusterTriggerBindingsNode((ClusterTriggerBindingsNode) element);
        }
        if (element instanceof EventListenersNode) {
            return getEventListenersNode((EventListenersNode) element);
        }
    }
    return new Object[0];
}
Also used : Tkn(com.redhat.devtools.intellij.tektoncd.tkn.Tkn)

Aggregations

Tkn (com.redhat.devtools.intellij.tektoncd.tkn.Tkn)25 IOException (java.io.IOException)21 ArrayList (java.util.ArrayList)13 LookupElementBuilder (com.intellij.codeInsight.lookup.LookupElementBuilder)3 Project (com.intellij.openapi.project.Project)3 TreeHelper (com.redhat.devtools.intellij.tektoncd.utils.TreeHelper)3 CompletionParameters (com.intellij.codeInsight.completion.CompletionParameters)2 CompletionResultSet (com.intellij.codeInsight.completion.CompletionResultSet)2 ProcessingContext (com.intellij.util.ProcessingContext)2 KIND_CLUSTERTASK (com.redhat.devtools.intellij.tektoncd.Constants.KIND_CLUSTERTASK)2 KIND_TASK (com.redhat.devtools.intellij.tektoncd.Constants.KIND_TASK)2 NAMESPACE (com.redhat.devtools.intellij.tektoncd.Constants.NAMESPACE)2 ClusterTaskNode (com.redhat.devtools.intellij.tektoncd.tree.ClusterTaskNode)2 ClusterTriggerBindingNode (com.redhat.devtools.intellij.tektoncd.tree.ClusterTriggerBindingNode)2 ConditionNode (com.redhat.devtools.intellij.tektoncd.tree.ConditionNode)2 EventListenerNode (com.redhat.devtools.intellij.tektoncd.tree.EventListenerNode)2 PipelineNode (com.redhat.devtools.intellij.tektoncd.tree.PipelineNode)2 PipelineRunNode (com.redhat.devtools.intellij.tektoncd.tree.PipelineRunNode)2 ResourceNode (com.redhat.devtools.intellij.tektoncd.tree.ResourceNode)2 TaskNode (com.redhat.devtools.intellij.tektoncd.tree.TaskNode)2