/** Verify dialog state */ private void verify() { String text = myNameTextField.getText().trim(); if (text.length() == 0) { setError("Empty configuration name is not allowed."); return; } else if (myTarget != null && text.equals(myTarget.getName())) { } else if (myExistingConfigNames.contains(text)) { setError("There is another configuration with the same name"); return; } for (BranchDescriptor d : myBranches) { switch (d.status) { case BRANCH_NAME_EXISTS: setError("Duplicate branch name for root " + d.getRoot()); return; case INVALID_BRANCH_NAME: setError("Invalid branch name for root " + d.getRoot()); return; case BAD_REVISION: setError("Invalid revision for root " + d.getRoot()); return; case MISSING_REVISION: setError("The revision must be specified for root " + d.getRoot()); return; case CHECKOUT_NEEDED: case NO_ACTION: case REMOVED_ROOT: break; default: throw new RuntimeException("Unexpected status: " + d.status); } } setError(null); }
/** {@inheritDoc} */ @Override public Object getValueAt(int rowIndex, int columnIndex) { BranchDescriptor d = myBranches.get(rowIndex); switch (columnIndex) { case ROOT_COLUMN: return Pair.create(d.getRoot(), d.root != null); case REVISION_COLUMN: return Pair.create(d.referenceToCheckout, d.isReferenceValid); case NEW_BRANCH_COLUMN: return Pair.create(d.newBranchName == null ? "" : d.newBranchName, d.isNewBranchValid); case STATUS_COLUMN: switch (d.status) { case INVALID_BRANCH_NAME: return Pair.create("Invalid new branch name", false); case BAD_REVISION: return Pair.create("Invalid revision", false); case MISSING_REVISION: return Pair.create("Missing revision", false); case CHECKOUT_NEEDED: return Pair.create("Checkout", true); case REMOVED_ROOT: return Pair.create("Removed root", true); case NO_ACTION: return Pair.create("", true); case BRANCH_NAME_EXISTS: return Pair.create("Branch name exists", false); default: throw new IllegalStateException("Unknown status:" + d.status); } default: throw new IllegalStateException("Unknown column: " + columnIndex); } }