/*******************************************************************************
* 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.wizards;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.linuxtools.docker.core.IDockerImage;
import org.eclipse.linuxtools.docker.core.IRegistry;
import org.eclipse.linuxtools.docker.ui.Activator;
import org.eclipse.linuxtools.internal.docker.core.RegistryInfo;
import org.eclipse.linuxtools.internal.docker.ui.databinding.BaseDatabindingModel;
import org.eclipse.linuxtools.internal.docker.ui.preferences.PreferenceConstants;
/**
* Base {@link BaseDatabindingModel} for Push and Pull models.
*/
public abstract class ImagePullPushPageModel extends BaseDatabindingModel {
public static final String SELECTED_IMAGE_NAME = "selectedImageName"; //$NON-NLS-1$
public static final String SELECTED_REGISTRY = "selectedRegistry"; //$NON-NLS-1$
public static final String TAG = "tag"; //$NON-NLS-1$
private IRegistry selectedRegistry;
private String selectedImageName;
public ImagePullPushPageModel() {
}
/**
* Constructor
*
* @param image
* the selected {@link IDockerImage}
* @param selectedImageName
* the selected repo/name/tag of the given image
*/
public ImagePullPushPageModel(final String selectedImageName) {
setSelectedImageName(selectedImageName);
}
public IRegistry getSelectedRegistry() {
return this.selectedRegistry;
}
public void setSelectedRegistry(final IRegistry selectedRegistry) {
firePropertyChange(SELECTED_REGISTRY, this.selectedRegistry,
this.selectedRegistry = selectedRegistry);
// store the last registry used for future actions
final IPreferenceStore store = Activator.getDefault()
.getPreferenceStore();
store.putValue(PreferenceConstants.LAST_REGISTRY_ACCOUNT,
((RegistryInfo) selectedRegistry).getRegistryId());
}
public String getSelectedImageName() {
return selectedImageName;
}
public void setSelectedImageName(final String selectedImageName) {
firePropertyChange(SELECTED_IMAGE_NAME, this.selectedImageName,
this.selectedImageName = selectedImageName);
}
}