package io.cattle.platform.process.util; import io.cattle.platform.object.ObjectManager; import io.cattle.platform.object.process.ObjectProcessManager; import io.cattle.platform.object.process.StandardProcess; import io.cattle.platform.object.util.ObjectUtils; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class ProcessHelpers { public static <T> List<T> createOneChild(ObjectManager objectManager, ObjectProcessManager processManager, Object parent, Class<T> childClass, Object key, Object... values) { List<T> children = objectManager.children(parent, childClass); if (children.size() == 0) { children = Arrays.asList(objectManager.create(childClass, key, values)); } for (T child : children) { processManager.executeStandardProcess(StandardProcess.CREATE, child, null); } return children; } public static <T> List<T> getNonRemovedChildren(ObjectManager objectManager, Object obj, Class<T> type) { List<T> result = new ArrayList<>(); for (T child : objectManager.children(obj, type)) { if (ObjectUtils.getRemoved(child) == null) { result.add(child); } } return result; } }