/******************************************************************************* * * Copyright (c) 2010, InfraDNA, Inc. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * * * * *******************************************************************************/ package hudson.model.queue; import hudson.model.Queue.Task; import java.util.Collection; import java.util.Collections; /** * Convenience methods around {@link Task} and {@link SubTask}. * * @author Kohsuke Kawaguchi * @since 1.377 */ public class Tasks { /** * A pointless function to work around what appears to be a HotSpot problem. * See HUDSON-5756 and bug 6933067 on BugParade for more details. */ private static Collection<? extends SubTask> _getSubTasksOf(Task task) { return task.getSubTasks(); } public static Collection<? extends SubTask> getSubTasksOf(Task task) { try { return _getSubTasksOf(task); } catch (AbstractMethodError e) { return Collections.singleton(task); } } /** * A pointless function to work around what appears to be a HotSpot problem. * See HUDSON-5756 and bug 6933067 on BugParade for more details. */ private static Object _getSameNodeConstraintOf(SubTask t) { return t.getSameNodeConstraint(); } public static Object getSameNodeConstraintOf(SubTask t) { try { return _getSameNodeConstraintOf(t); } catch (AbstractMethodError e) { return null; } } /** * A pointless function to work around what appears to be a HotSpot problem. * See HUDSON-5756 and bug 6933067 on BugParade for more details. */ public static Task _getOwnerTaskOf(SubTask t) { return t.getOwnerTask(); } public static Task getOwnerTaskOf(SubTask t) { try { return _getOwnerTaskOf(t); } catch (AbstractMethodError e) { return (Task) t; } } }