private static boolean isAllowedValuesMatch(AllowedValue[] av1, AllowedValue[] av2) { if (av1.length != av2.length) { return false; } Set<String> s1 = new HashSet<String>(av1.length); Set<String> s2 = new HashSet<String>(av1.length); for (AllowedValue av : av1) { s1.add(av.getString()); } for (AllowedValue av : av2) { s2.add(av.getString()); } return s1.equals(s2); }
private static String avAsString(AllowedValue[] av) { StringBuilder sb = new StringBuilder("{"); for (int i = 0; i < av.length; i++) { sb.append(av[i].getString()); if (i < av.length - 1) { sb.append(", "); } } sb.append('}'); return sb.toString(); }
/** * Gets the allowed value. * * @param value the value * @param td the td * @return the allowed value */ public AllowedValue getAllowedValue(String value, TypeDescription td) { AllowedValue[] avs = td.getAllowedValues(); if (null == avs) return null; for (int i = 0; i < avs.length; i++) { if (value.equals(avs[i].getString())) return avs[i]; } return null; }
/** * Gets the local allowed value. * * @param td the td * @param unchangedAv the unchanged av * @return the local allowed value */ protected AllowedValue getLocalAllowedValue(TypeDescription td, AllowedValue unchangedAv) { TypeDescription localTd = getLocalTypeDefinition(td); if (null == localTd) return null; return getAllowedValue(unchangedAv.getString(), localTd); }
/** * Checks if is imported allowed value. * * @param td the td * @param av the av * @return true, if is imported allowed value */ protected boolean isImportedAllowedValue(TypeDescription td, AllowedValue av) { TypeDescription importedTd = editor.getImportedTypeSystemDesription().getType(td.getName()); if (null == importedTd) return false; return null != getAllowedValue(av.getString(), importedTd); }
/** * Allowed value update. * * @param av the av * @param dialog the dialog */ public void allowedValueUpdate(AllowedValue av, AddAllowedValueDialog dialog) { valueChanged = false; av.setString(setValueChanged(dialog.allowedValue, av.getString())); av.setDescription(setValueChanged(dialog.description, av.getDescription())); }
@Override protected Control createDialogArea(Composite parent) { Composite mainArea = (Composite) super.createDialogArea(parent, existingAv); // This part of the form looks like this sketch // // Allowed Value: Text field << in 2 grid composite // description: Text field << in 2 grid composite Composite twoCol = new2ColumnComposite(mainArea); allowedValueUI = newLabeledSingleLineStyledText(twoCol, "Allowed Value", "A literal string value which this string is allowed to have"); descriptionUI = newDescription(twoCol, "Description of the allowed value"); newErrorMessage(twoCol, 2); if (null != existingAv) { descriptionUI.setText(convertNull(existingAv.getDescription())); allowedValueUI.setText(convertNull(existingAv.getString())); } return mainArea; }
valStrs[i] = vals[i].getString();
/** * Edits the allowed value. * * @param item the item * @param parent the parent */ private void editAllowedValue(TableTreeItem item, TableTreeItem parent) { TypeDescription td = getTypeDescriptionFromTableTreeItem(parent); AllowedValue av = getAllowedValueFromTableTreeItem(item); AllowedValue localAv = getLocalAllowedValue(td, av); // must use unmodified value of "av" AddAllowedValueDialog dialog = new AddAllowedValueDialog(this, av); if (dialog.open() == Window.CANCEL) return; allowedValueUpdate(av, dialog); allowedValueUpdate(localAv, dialog); if (!valueChanged) return; // update the GUI item.setText(AV_COL, av.getString()); editor.addDirtyTypeName(td.getName()); finishActionPack(); }
TableTreeItem item = new TableTreeItem(parent, SWT.NONE); item.setText(NAME_COL, HEADER_ALLOWED_VALUE); item.setText(AV_COL, convertNull(av.getString())); item.setData(av);
TableTreeItem avItem = new TableTreeItem(item, SWT.NONE); avItem.setText(NAME_COL, HEADER_ALLOWED_VALUE); avItem.setText(AV_COL, convertNull(avs[i].getString())); avItem.setData(avs[i]); setItemColor(avItem, null != getLocalAllowedValue(td, avs[i]));