| /******************************************************************************* |
| * Copyright (c) 2015 Red Hat. |
| * 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: |
| * Red Hat - Initial Contribution |
| *******************************************************************************/ |
| package org.eclipse.linuxtools.internal.docker.ui.launch; |
| |
| import org.eclipse.debug.ui.AbstractLaunchConfigurationTab; |
| import org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup; |
| import org.eclipse.debug.ui.ILaunchConfigurationDialog; |
| import org.eclipse.linuxtools.docker.core.DockerConnectionManager; |
| import org.eclipse.linuxtools.docker.core.DockerException; |
| import org.eclipse.linuxtools.internal.docker.ui.commands.CommandUtils; |
| import org.eclipse.linuxtools.internal.docker.ui.wizards.ImageRunNetworkModel; |
| import org.eclipse.linuxtools.internal.docker.ui.wizards.ImageRunResourceVolumesVariablesModel; |
| import org.eclipse.linuxtools.internal.docker.ui.wizards.ImageRunSelectionModel; |
| |
| public class RunImageLaunchConfigurationTabGroup |
| extends AbstractLaunchConfigurationTabGroup { |
| |
| private ImageRunSelectionModel runSelectionModel; |
| private ImageRunResourceVolumesVariablesModel runVolumesModel; |
| private ImageRunNetworkModel runNetworkModel; |
| |
| public RunImageLaunchConfigurationTabGroup() { |
| } |
| |
| public ImageRunSelectionModel getRunSelectionModel() { |
| return runSelectionModel; |
| } |
| |
| public ImageRunResourceVolumesVariablesModel getRunVolumesModel() { |
| return runVolumesModel; |
| } |
| |
| public ImageRunNetworkModel getRunNetworkModel() { |
| return runNetworkModel; |
| } |
| |
| @Override |
| public void createTabs(ILaunchConfigurationDialog dialog, String mode) { |
| runSelectionModel = null; |
| runVolumesModel = null; |
| runNetworkModel = null; |
| if (DockerConnectionManager.getInstance().hasConnections()) { |
| runSelectionModel = new ImageRunSelectionModel( |
| CommandUtils.getCurrentConnection(null)); |
| runNetworkModel = new ImageRunNetworkModel( |
| CommandUtils.getCurrentConnection(null)); |
| try { |
| runVolumesModel = new ImageRunResourceVolumesVariablesModel( |
| CommandUtils.getCurrentConnection(null)); |
| } catch (DockerException e) { |
| // do nothing |
| } |
| } |
| setTabs(new AbstractLaunchConfigurationTab[] { |
| new RunImageMainTab(runSelectionModel, runVolumesModel, |
| runNetworkModel), |
| new RunImageVolumesTab(runVolumesModel), |
| new RunImagePortsTab(runSelectionModel), |
| new RunImageLinksTab(runSelectionModel), |
| new RunImageNetworkTab(runNetworkModel), |
| new RunImageEnvironmentTab(runVolumesModel), |
| new RunImageLabelsTab(runVolumesModel), |
| new RunImageResourcesTab(runVolumesModel), |
| new org.eclipse.debug.ui.CommonTab() }); |
| } |
| |
| } |