use of com.redhat.devtools.intellij.tektoncd.tkn.component.field.Workspace.Kind.EMPTYDIR in project intellij-tekton by redhat-developer.
the class WorkspacesStep method updateWorkspaceModel.
private void updateWorkspaceModel(JPanel panel, String workspaceName, Workspace.Kind kind, String resource) {
Workspace workspace = model.getWorkspaces().get(workspaceName);
boolean isOptional = workspace.isOptional();
if (kind == PVC) {
JComboBox cmbWorkspaceTypeValues = (JComboBox) Arrays.stream(panel.getComponents()).filter(component -> "cmbWorkspaceTypeValues".equals(component.getName())).findFirst().get();
String valueSelected = cmbWorkspaceTypeValues.getSelectedItem().toString();
if (valueSelected.equals(NEW_PVC_TEXT)) {
JPanel newPVCNamePanel = (JPanel) Arrays.stream(panel.getComponents()).filter(component -> "newPVCNamePanel".equals(component.getName())).findFirst().get();
JTextField newPVCNameTextField = (JTextField) Arrays.stream(newPVCNamePanel.getComponents()).filter(component -> "txtNameNewPVC".equals(component.getName())).findFirst().get();
String nameNewPVC = newPVCNameTextField.getText();
newPVCNameTextField.setBorder(nameNewPVC.isEmpty() ? RED_BORDER_SHOW_ERROR : NO_BORDER);
workspace = saveNewVolume(workspaceName, nameNewPVC, PVC, panel, isOptional);
} else if (valueSelected.equals(NEW_VCT_TEXT)) {
workspace = saveNewVolume(workspaceName, workspaceName + "-vct", PVC, panel, true, isOptional);
} else {
workspace = new Workspace(workspaceName, kind, resource);
}
} else if (resource.isEmpty() && !isOptional && kind != EMPTYDIR) {
workspace = new Workspace(workspaceName, null, null, isOptional);
} else {
workspace = new Workspace(workspaceName, kind, resource, isOptional);
}
model.getWorkspaces().put(workspaceName, workspace);
fireStateChanged();
}
use of com.redhat.devtools.intellij.tektoncd.tkn.component.field.Workspace.Kind.EMPTYDIR in project intellij-tekton by redhat-developer.
the class WorkspacesStep method addListeners.
private void addListeners(String workspace, JPanel parent, int row) {
JComboBox cmbWorkspaceTypes = (JComboBox) Arrays.stream(parent.getComponents()).filter(component -> component.getName() != null && component.getName().equals("cmbWorkspaceTypes")).findFirst().get();
JComboBox cmbWorkspaceTypeValues = (JComboBox) Arrays.stream(parent.getComponents()).filter(component -> component.getName() != null && component.getName().equals("cmbWorkspaceTypeValues")).findFirst().get();
cmbWorkspaceTypes.addItemListener(itemEvent -> {
if (itemEvent.getStateChange() == 1) {
// when cmbWorkspaceTypes combo box value changes, a type (secret, emptyDir, pvcs ..) is chosen and cmbWorkspaceTypeValues combo box is filled with all existing resources of that kind
hidePVCAndVCTComponents(parent);
Workspace.Kind kindSelected = cmbWorkspaceTypes.getSelectedItem().equals("") ? null : (Workspace.Kind) cmbWorkspaceTypes.getSelectedItem();
setCmbWorkspaceTypeValues(workspace, kindSelected, cmbWorkspaceTypeValues, row);
String resource = getSelectedWorkspaceType(cmbWorkspaceTypeValues);
updateWorkspaceModel(parent, workspace, kindSelected, resource);
// reset error graphics if error occurred earlier
if (isValid(workspace, cmbWorkspaceTypes)) {
changeErrorTextVisibility(false);
cmbWorkspaceTypes.setBorder(new JComboBox().getBorder());
}
fireStateChanged();
}
});
cmbWorkspaceTypeValues.addItemListener(itemEvent -> {
if (itemEvent.getStateChange() == 1) {
changeErrorTextVisibility(false);
// when wsCB combo box value changes, wsTypesCB combo box is filled with all possible options
String itemSelected = itemEvent.getItem().toString();
hidePVCAndVCTComponents(parent);
if (itemSelected.equals(NEW_VCT_TEXT)) {
changeNewVCTComponentsVisibility(parent, true);
updateWorkspaceModel(parent, workspace, PVC, "");
} else if (itemSelected.equals(NEW_PVC_TEXT)) {
changeNewPVCComponentsVisibility(parent, true);
updateWorkspaceModel(parent, workspace, PVC, "");
} else {
updateWorkspaceModel(parent, workspace, (Workspace.Kind) cmbWorkspaceTypes.getSelectedItem(), itemEvent.getItem().toString());
}
fireStateChanged();
}
});
}
Aggregations