use of com.amalto.workbench.models.Line in project tmdm-studio-se by Talend.
the class TisTableViewer method createViewer.
@Override
protected void createViewer() {
super.createTable();
GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1);
table.setLayoutData(gd);
gd.heightHint = 80;
// Up Down Delete button group
Composite stepUpDownComposite = toolkit.createComposite(mainComposite, SWT.NONE);
stepUpDownComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));
GridLayout layout = new GridLayout(8, false);
layout.marginTop = 0;
layout.marginBottom = 0;
layout.marginHeight = 0;
stepUpDownComposite.setLayout(layout);
//
// $NON-NLS-1$
addButton = toolkit.createButton(stepUpDownComposite, "", SWT.PUSH | SWT.CENTER);
addButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));
addButton.setToolTipText(Messages.Add);
if (isXpath()) {
addButton.setImage(ImageCache.getCreatedImage(EImage.ADD_NEWXPATH.getPath()));
} else {
addButton.setImage(ImageCache.getCreatedImage(EImage.ADD_OBJ.getPath()));
}
addButton.addSelectionListener(new SelectionListener() {
public void widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent e) {
}
@SuppressWarnings("unchecked")
public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
// check uniqueness by concatenating all the values
List<Line> list = (List<Line>) getViewer().getInput();
// Update the model
Line line = new Line(columns.toArray(new ComplexTableViewerColumn[columns.size()]), getInitValues());
list.add(line);
viewer.setInput(list);
// update the instances viewer
viewer.setSelection(null);
viewer.refresh();
viewer.getTable().select(viewer.getTable().getItemCount() - 1);
markDirty();
}
});
// Add Multi
if (isAddMulti()) {
// $NON-NLS-1$
Button selNewPathButton = toolkit.createButton(stepUpDownComposite, "", SWT.PUSH | SWT.CENTER);
selNewPathButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));
selNewPathButton.setToolTipText(Messages.AddMultiple);
selNewPathButton.setImage(ImageCache.getCreatedImage(EImage.SELECT_NEWXPATH.getPath()));
selNewPathButton.addSelectionListener(new SelectionListener() {
public void widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent e) {
}
@SuppressWarnings("unchecked")
public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
xpathDialog = getNewXpathDlgInstance();
xpathDialog.setConceptName(conceptName);
xpathDialog.setBlockOnOpen(true);
xpathDialog.open();
if (xpathDialog.getReturnCode() == Window.OK) {
datamodelName = xpathDialog.getDataModelName();
// $NON-NLS-1$
String[] xpaths = xpathDialog.getXpath().split("&");
List<Line> list = new LinkedList<Line>();
for (String xpath : xpaths) {
// check uniqueness by concatenating all the values
list = (List<Line>) getViewer().getInput();
// Update the model
Line line = new Line(columns.toArray(new ComplexTableViewerColumn[columns.size()]), getLineValues(xpath, 0));
list.add(line);
}
viewer.setInput(list);
// update the instances viewer
viewer.setSelection(null);
viewer.refresh();
viewer.getTable().select(viewer.getTable().getItemCount() - 1);
markDirty();
}
}
});
}
// $NON-NLS-1$
deleteButton = toolkit.createButton(stepUpDownComposite, "", SWT.PUSH | SWT.CENTER);
deleteButton.setToolTipText(Messages.DeleteSelectedItem);
deleteButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));
deleteButton.addSelectionListener(new SelectionListener() {
public void widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent e) {
}
@SuppressWarnings("unchecked")
public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
List<Line> input = (List<Line>) viewer.getInput();
TableItem[] items = viewer.getTable().getSelection();
for (int i = 0; i < items.length; i++) {
input.remove(items[i].getData());
}
viewer.setInput(input);
markDirty();
}
});
deleteButton.setImage(ImageCache.getCreatedImage(EImage.DELETE_OBJ.getPath()));
// delete all
// $NON-NLS-1$
Button deleteAllButton = toolkit.createButton(stepUpDownComposite, "", SWT.PUSH | SWT.CENTER);
deleteAllButton.setToolTipText(Messages.DeleteAllItems);
deleteAllButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));
deleteAllButton.addSelectionListener(new SelectionListener() {
public void widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent e) {
}
@SuppressWarnings("unchecked")
public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
List<Line> items = (List<Line>) viewer.getInput();
items.clear();
viewer.setInput(items);
viewer.refresh();
markDirty();
}
});
deleteAllButton.setImage(ImageCache.getCreatedImage(EImage.PROGRESS_REMALL.getPath()));
// $NON-NLS-1$
upButton = toolkit.createButton(stepUpDownComposite, "", SWT.PUSH | SWT.CENTER);
upButton.setToolTipText(Messages.MoveUpSelectedItem);
upButton.setImage(ImageCache.getCreatedImage(EImage.PREV_NAV.getPath()));
upButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));
upButton.addSelectionListener(new SelectionListener() {
public void widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent e) {
}
@SuppressWarnings("unchecked")
public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
int index = viewer.getTable().getSelectionIndex();
if (index > 0 && index < viewer.getTable().getItemCount()) {
// commit as we go
if (mainPage != null) {
mainPage.setComitting(true);
}
List<Line> items = (List<Line>) viewer.getInput();
Line line = items.get(index);
items.remove(index);
items.add(index - 1, line);
viewer.refresh();
if (mainPage != null) {
mainPage.setComitting(false);
}
markDirty();
}
}
});
// $NON-NLS-1$
downButton = toolkit.createButton(stepUpDownComposite, "", SWT.PUSH | SWT.CENTER);
downButton.setToolTipText(Messages.MovedownSelectedItem);
downButton.setImage(ImageCache.getCreatedImage(EImage.NEXT_NAV.getPath()));
downButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));
downButton.addSelectionListener(new SelectionListener() {
public void widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent e) {
}
@SuppressWarnings("unchecked")
public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
int index = viewer.getTable().getSelectionIndex();
if (index >= 0 && index < viewer.getTable().getItemCount() - 1) {
// commit as we go
if (mainPage != null) {
mainPage.setComitting(true);
}
List<Line> items = (List<Line>) viewer.getInput();
Line line = items.get(index);
items.remove(index);
items.add(index + 1, line);
// viewer.setInput(items);
viewer.refresh();
// TODO
if (mainPage != null) {
mainPage.setComitting(false);
}
markDirty();
}
}
});
// $NON-NLS-1$
copyButton = toolkit.createButton(stepUpDownComposite, "", SWT.PUSH | SWT.CENTER);
copyButton.setToolTipText(Messages.CopySelectedItems);
copyButton.setImage(ImageCache.getCreatedImage(EImage.COPY.getPath()));
copyButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));
copyButton.addSelectionListener(new SelectionListener() {
public void widgetDefaultSelected(SelectionEvent e) {
}
public void widgetSelected(SelectionEvent e) {
int[] indexs = viewer.getTable().getSelectionIndices();
List<Line> copyLines = new ArrayList<Line>();
for (int index : indexs) {
if (index >= 0 && index <= viewer.getTable().getItemCount() - 1) {
List<Line> items = (List<Line>) viewer.getInput();
Line line = items.get(index);
Line copyLine = line.clone();
copyLines.add(copyLine);
}
}
if (indexs.length > 0) {
// enable all paste buttons
HashSet<Button> btns = pastBtns.get(String.valueOf(columns.size()));
if (btns != null) {
for (Button btn : btns) {
if (btn != null) {
btn.setEnabled(true);
}
}
}
// add to workbenchclipboard
WorkbenchClipboard.getWorkbenchClipboard().setLines(String.valueOf(columns.size()), copyLines);
}
}
});
// $NON-NLS-1$
pastButton = toolkit.createButton(stepUpDownComposite, "", SWT.PUSH | SWT.CENTER);
pastButton.setToolTipText(Messages.PasteSelectedItem);
pastButton.setImage(ImageCache.getCreatedImage(EImage.PASTE.getPath()));
pastButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));
pastButton.setEnabled(false);
pastButton.addSelectionListener(new SelectionListener() {
public void widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent e) {
}
@SuppressWarnings("unchecked")
public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
if (mainPage != null) {
mainPage.setComitting(true);
}
boolean dirty = false;
List<Line> items = (List<Line>) viewer.getInput();
List<Line> cacheLine = WorkbenchClipboard.getWorkbenchClipboard().getLines(String.valueOf(columns.size()));
List<Line> coloneLine = new ArrayList<Line>();
for (Line l : cacheLine) {
coloneLine.add(l.clone());
}
if (cacheLine.size() > 0) {
items.addAll(coloneLine);
dirty = true;
}
viewer.refresh();
// TODO
if (mainPage != null) {
mainPage.setComitting(false);
}
if (dirty) {
markDirty();
}
}
});
HashSet<Button> btns = pastBtns.get(String.valueOf(columns.size()));
if (btns == null) {
btns = new HashSet<Button>();
pastBtns.put(String.valueOf(columns.size()), btns);
}
btns.add(pastButton);
// Create the cell editors --> We actually discard those later: not natural for an user
CellEditor[] editors = new CellEditor[columns.size()];
for (int i = 0; i < columns.size(); i++) {
if (columns.get(i).isText()) {
editors[i] = new TextCellEditor(table);
} else if (columns.get(i).isCombo()) {
editors[i] = new ComboBoxCellEditor(table, columns.get(i).getComboValues(), SWT.READ_ONLY);
} else if (columns.get(i).isXPATH()) {
editors[i] = new XpathCellEditor(table, validators.get(columns.get(i)));
} else if (columns.get(i).isMultiMessage()) {
editors[i] = new MultiMessageEditor(table);
multiMsg.setColumn(table.getColumn(i));
} else if (columns.get(i).isValidationRule()) {
editors[i] = createValidationRuleEditor();
validationRule.setColumn(table.getColumn(i));
}
}
viewer.setCellEditors(editors);
// set the content provider
viewer.setContentProvider(new IStructuredContentProvider() {
public void dispose() {
}
public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
}
@SuppressWarnings("unchecked")
public Object[] getElements(Object inputElement) {
ArrayList<Line> lines = (ArrayList<Line>) inputElement;
return lines.toArray(new Line[lines.size()]);
}
});
// set the label provider
viewer.setLabelProvider(new ITableLabelProvider() {
public boolean isLabelProperty(Object element, String property) {
return false;
}
public void dispose() {
}
public void addListener(ILabelProviderListener listener) {
}
public void removeListener(ILabelProviderListener listener) {
}
public String getColumnText(Object element, int columnIndex) {
Line line = (Line) element;
if (columnIndex >= 0 && columnIndex < columns.size()) {
for (KeyValue keyvalue : line.keyValues) {
if (keyvalue.key.equals(columns.get(columnIndex).getName())) {
String val = keyvalue.value;
if (columns.get(columnIndex).isNillable()) {
if (columns.get(columnIndex).getNillValue().equals(val)) {
val = columns.get(columnIndex).getNillDisplay();
}
}
return val;
}
}
}
// $NON-NLS-1$
return "";
}
public Image getColumnImage(Object element, int columnIndex) {
return null;
}
});
// Set the column properties
ArrayList<String> columnNames = new ArrayList<String>();
for (ComplexTableViewerColumn column : columns) {
columnNames.add(column.getName());
}
viewer.setColumnProperties(columnNames.toArray(new String[columnNames.size()]));
// set the Cell Modifier
viewer.setCellModifier(new ICellModifier() {
public boolean canModify(Object element, String property) {
return editable;
}
@SuppressWarnings("unchecked")
public void modify(Object element, String property, Object value) {
if (value instanceof Integer) {
if (Integer.valueOf(value.toString()) == -1) {
return;
}
}
// modify the text and combo cell value
TableItem item = (TableItem) element;
Line line = (Line) item.getData();
int columnIndex = Arrays.asList(viewer.getColumnProperties()).indexOf(property);
if (columnIndex >= 0 && columnIndex < viewer.getColumnProperties().length) {
if (isAColumnWithCombo(columnIndex)) {
String[] attrs = columns.get(columnIndex).getComboValues();
value = attrs[Integer.parseInt(value.toString())];
}
KeyValue kv = line.keyValues.get(columnIndex);
boolean noChange = kv.value.equals(value.toString());
kv.value = value.toString();
viewer.refresh();
if (!noChange) {
markDirty();
}
}
}
public Object getValue(Object element, String property) {
int columnIndex = Arrays.asList(viewer.getColumnProperties()).indexOf(property);
Line line = (Line) element;
// add getting value from combo
if (isAColumnWithCombo(columnIndex)) {
String value = line.keyValues.get(columnIndex).value;
String[] attrs = columns.get(columnIndex).getComboValues();
return Arrays.asList(attrs).indexOf(value);
}
for (KeyValue keyvalue : line.keyValues) {
if (property.equals(keyvalue.key)) {
if (keyvalue.value.equals("")) {
// $NON-NLS-1$
return columns.get(columnIndex).getNillDisplay();
}
return keyvalue.value;
}
}
return null;
}
private boolean isAColumnWithCombo(int columnIdx) {
return columns.get(columnIdx).isCombo();
}
});
// display for Delete Key events to delete an instance
viewer.getTable().addKeyListener(new KeyListener() {
public void keyPressed(KeyEvent e) {
}
@SuppressWarnings("unchecked")
public void keyReleased(KeyEvent e) {
if ((e.stateMask == 0) && (e.character == SWT.DEL) && (viewer.getSelection() != null)) {
Line line = (Line) ((IStructuredSelection) viewer.getSelection()).getFirstElement();
// update the underlying role and refresh the table
// update the underlying model
List<Line> items = (List<Line>) viewer.getInput();
items.remove(line);
// refresh
viewer.refresh();
// mark for update
markDirty();
}
}
});
// add dispose listener
viewer.getTable().addDisposeListener(new DisposeListener() {
public void widgetDisposed(DisposeEvent e) {
HashSet<Button> btns = pastBtns.get(String.valueOf(columns.size()));
btns.remove(pastButton);
}
});
}
use of com.amalto.workbench.models.Line in project tmdm-studio-se by Talend.
the class ComplexTableViewer method createViewer.
protected void createViewer() {
createTable();
GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true, columns.size(), 1);
table.setLayoutData(gd);
gd.heightHint = 80;
// Up Down Delete button group
Composite stepUpDownComposite = toolkit.createComposite(mainComposite, SWT.NONE);
stepUpDownComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, true, 1, 1));
stepUpDownComposite.setLayout(new GridLayout(1, false));
// $NON-NLS-1$
upButton = toolkit.createButton(stepUpDownComposite, "", SWT.PUSH | SWT.CENTER);
upButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));
upButton.setImage(ImageCache.getCreatedImage(EImage.PREV_NAV.getPath()));
upButton.setToolTipText(Messages.ComplexTableViewer_UpBtnTip);
upButton.addSelectionListener(new SelectionListener() {
public void widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent e) {
}
@SuppressWarnings("unchecked")
public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
int index = viewer.getTable().getSelectionIndex();
if (index > 0 && index < viewer.getTable().getItemCount()) {
// commit as we go
if (mainPage != null) {
mainPage.setComitting(true);
}
List<Line> items = (List<Line>) viewer.getInput();
Line line = items.get(index);
items.remove(index);
items.add(index - 1, line);
viewer.refresh();
if (mainPage != null) {
mainPage.setComitting(false);
}
markDirty();
}
}
});
// $NON-NLS-1$
downButton = toolkit.createButton(stepUpDownComposite, "", SWT.PUSH | SWT.CENTER);
downButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));
downButton.setImage(ImageCache.getCreatedImage(EImage.NEXT_NAV.getPath()));
downButton.setToolTipText(Messages.ComplexTableViewer_DownBtnTip);
downButton.addSelectionListener(new SelectionListener() {
public void widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent e) {
}
@SuppressWarnings("unchecked")
public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
int index = viewer.getTable().getSelectionIndex();
if (index >= 0 && index < viewer.getTable().getItemCount() - 1) {
// commit as we go
if (mainPage != null) {
mainPage.setComitting(true);
}
List<Line> items = (List<Line>) viewer.getInput();
Line line = items.get(index);
items.remove(index);
items.add(index + 1, line);
// viewer.setInput(items);
viewer.refresh();
// TODO
if (mainPage != null) {
mainPage.setComitting(false);
}
markDirty();
}
}
});
// $NON-NLS-1$
deleteButton = toolkit.createButton(stepUpDownComposite, "", SWT.PUSH | SWT.CENTER);
deleteButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));
deleteButton.setToolTipText(Messages.ComplexTableViewer_DelBtnLabel);
deleteButton.setImage(ImageCache.getCreatedImage(EImage.DELETE_OBJ.getPath()));
deleteButton.addSelectionListener(new SelectionListener() {
public void widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent e) {
}
@SuppressWarnings("unchecked")
public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
int index = viewer.getTable().getSelectionIndex();
if (index >= 0 && index < viewer.getTable().getItemCount()) {
List<Line> items = (List<Line>) viewer.getInput();
items.remove(index);
viewer.refresh();
int pos = index - 1;
if (pos >= 0) {
viewer.getTable().select(pos);
}
markDirty();
}
}
});
// Create the cell editors --> We actually discard those later: not natural for an user
CellEditor[] editors = new CellEditor[columns.size()];
for (int i = 0; i < columns.size(); i++) {
if (columns.get(i).isText()) {
editors[i] = new TextCellEditor(table);
} else if (columns.get(i).isCombo()) {
editors[i] = new ComboBoxCellEditor(table, columns.get(i).getComboValues(), SWT.READ_ONLY);
} else if (columns.get(i).isXPATH()) {
editors[i] = new XpathCellEditor(table, validators.get(columns.get(i)));
} else if (columns.get(i).isMultiMessage()) {
editors[i] = new MultiMessageEditor(table);
multiMsg.setColumn(table.getColumn(i));
} else if (columns.get(i).isValidationRule()) {
editors[i] = new ValidationRuleEditor(table);
validationRule.setColumn(table.getColumn(i));
}
}
viewer.setCellEditors(editors);
// set the content provider
viewer.setContentProvider(new IStructuredContentProvider() {
public void dispose() {
}
public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
}
@SuppressWarnings("unchecked")
public Object[] getElements(Object inputElement) {
List<Line> lines = (List<Line>) inputElement;
return lines.toArray(new Line[lines.size()]);
}
});
// set the label provider
viewer.setLabelProvider(new ITableLabelProvider() {
public boolean isLabelProperty(Object element, String property) {
return false;
}
public void dispose() {
}
public void addListener(ILabelProviderListener listener) {
}
public void removeListener(ILabelProviderListener listener) {
}
public String getColumnText(Object element, int columnIndex) {
Line line = (Line) element;
if (columnIndex >= 0 && columnIndex < columns.size()) {
for (KeyValue keyvalue : line.keyValues) {
if (keyvalue.key.equals(columns.get(columnIndex).getName())) {
String val = keyvalue.value;
if (columns.get(columnIndex).isNillable()) {
if (columns.get(columnIndex).getNillValue().equals(val)) {
val = columns.get(columnIndex).getNillDisplay();
}
}
return val;
}
}
}
// $NON-NLS-1$
return "";
}
public Image getColumnImage(Object element, int columnIndex) {
return null;
}
});
// Set the column properties
ArrayList<String> columnNames = new ArrayList<String>();
for (ComplexTableViewerColumn column : columns) {
columnNames.add(column.getName());
}
viewer.setColumnProperties(columnNames.toArray(new String[columnNames.size()]));
// set the Cell Modifier
viewer.setCellModifier(new ICellModifier() {
public boolean canModify(Object element, String property) {
// if (INSTANCE_ACCESS.equals(property)) return true; Deactivated
return editable;
}
@SuppressWarnings("unchecked")
public void modify(Object element, String property, Object value) {
if (value instanceof Integer) {
if (Integer.valueOf(value.toString()) == -1) {
return;
}
}
// modify the text and combo cell value
TableItem item = (TableItem) element;
Line line = (Line) item.getData();
int columnIndex = Arrays.asList(viewer.getColumnProperties()).indexOf(property);
if (!isForceTextCellEditor(columnIndex) && isAColumnWithCombo(columnIndex)) {
String[] attrs = columns.get(columnIndex).getComboValues();
value = attrs[Integer.parseInt(value.toString())];
}
KeyValue kv = line.keyValues.get(columnIndex);
boolean noChange = kv.value.equals(value.toString());
kv.value = value.toString();
viewer.refresh();
if (!noChange) {
markDirty();
}
}
public Object getValue(Object element, String property) {
int columnIndex = Arrays.asList(viewer.getColumnProperties()).indexOf(property);
Line line = (Line) element;
// add getting value from combo
if (isAColumnWithCombo(columnIndex)) {
String value = line.keyValues.get(columnIndex).value;
String[] attrs = columns.get(columnIndex).getComboValues();
return Arrays.asList(attrs).indexOf(value);
}
for (KeyValue keyvalue : line.keyValues) {
if (property.equals(keyvalue.key)) {
if (keyvalue.value.equals("")) {
// $NON-NLS-1$
return columns.get(columnIndex).getNillDisplay();
}
return keyvalue.value;
}
}
return null;
}
private boolean isAColumnWithCombo(int columnIdx) {
return columns.get(columnIdx).isCombo();
}
private boolean isForceTextCellEditor(int columnIdx) {
return columns.get(columnIdx).isText();
}
});
viewer.addSelectionChangedListener(new ISelectionChangedListener() {
public void selectionChanged(SelectionChangedEvent event) {
Line line = (Line) ((IStructuredSelection) event.getSelection()).getFirstElement();
for (int columnIndex = 0; columnIndex < columns.size(); columnIndex++) {
if (line == null) {
Control control = columns.get(columnIndex).getControl();
if (control instanceof Text) {
// $NON-NLS-1$
((Text) control).setText("");
}
if (control instanceof CCombo) {
((CCombo) control).select(0);
}
if (control instanceof Combo) {
((CCombo) control).select(0);
}
} else {
for (KeyValue keyvalue : line.keyValues) {
if (keyvalue.key.equals(columns.get(columnIndex).getName())) {
String val = keyvalue.value;
Control control = columns.get(columnIndex).getControl();
if (control instanceof Text) {
((Text) control).setText(val);
}
if (control instanceof CCombo) {
((CCombo) control).setText(val);
}
if (control instanceof Combo) {
((CCombo) control).setText(val);
}
}
}
}
}
}
});
// display for Delete Key events to delete an instance
viewer.getTable().addKeyListener(new KeyListener() {
public void keyPressed(KeyEvent e) {
}
@SuppressWarnings("unchecked")
public void keyReleased(KeyEvent e) {
if ((e.stateMask == 0) && (e.character == SWT.DEL) && (viewer.getSelection() != null)) {
Line line = (Line) ((IStructuredSelection) viewer.getSelection()).getFirstElement();
// update the underlying role and refresh the table
// update the underlying model
List<Line> items = (List<Line>) viewer.getInput();
items.remove(line);
// refresh
viewer.refresh();
// mark for update
markDirty();
}
}
});
}
use of com.amalto.workbench.models.Line in project tmdm-studio-se by Talend.
the class FKFilterParserTest method testBuildLine.
@Test
public void testBuildLine() {
// $NON-NLS-1$
String criteria = "Store/Long$$=$$111$$And#Store/Address$$Contains$$shanghai$$Or#";
// $NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
String[] keyNames = { "XPath", "Operator", "Value", "Predicate" };
// $NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
String[] values1 = { "Store/Long", "=", "111", "And" };
// $NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
String[] values2 = { "Store/Address", "Contains", "shanghai", "Or" };
List<KeyValue> keyValues1 = new ArrayList<KeyValue>();
List<KeyValue> keyValues2 = new ArrayList<KeyValue>();
for (int i = 0; i < keyNames.length && i < values1.length; i++) {
keyValues1.add(new KeyValue(keyNames[i], values1[i]));
keyValues2.add(new KeyValue(keyNames[i], values2[i]));
}
Line line1 = new Line(keyValues1);
Line line2 = new Line(keyValues2);
try {
PowerMockito.mockStatic(FKFilterParser.class);
// $NON-NLS-1$
PowerMockito.when(FKFilterParser.class, "buildLine", anyString(), any(String[].class)).thenCallRealMethod();
// $NON-NLS-1$
PowerMockito.when(FKFilterParser.class, "buildKeyValue", any(String[].class), any(String[].class)).thenCallRealMethod();
// $NON-NLS-1$
List<Line> lines = Whitebox.invokeMethod(FKFilterParser.class, "buildLine", criteria, keyNames);
assertNotNull(lines);
assertEquals(2, lines.size());
assertTrue(lines.contains(line1));
assertTrue(lines.contains(line2));
// $NON-NLS-1$
lines = Whitebox.invokeMethod(FKFilterParser.class, "buildLine", (String) null, keyNames);
assertTrue(lines.size() == 0);
// $NON-NLS-1$
lines = Whitebox.invokeMethod(FKFilterParser.class, "buildLine", criteria, null);
assertTrue(lines.size() == 0);
// $NON-NLS-1$
lines = Whitebox.invokeMethod(FKFilterParser.class, "buildLine", (String) null, null);
assertTrue(lines.size() == 0);
} catch (Exception e) {
log.error(e.getMessage(), e);
}
}
use of com.amalto.workbench.models.Line in project tmdm-studio-se by Talend.
the class UserSecurityCellModifier method modify.
public void modify(Object element, String property, Object value) {
if (value instanceof Integer) {
if (Integer.valueOf(value.toString()) == -1) {
return;
}
}
Line line = null;
if (element instanceof TableItem) {
TableItem item = (TableItem) element;
line = (Line) item.getData();
} else {
line = (Line) element;
}
int columnIndex = Arrays.asList(viewer.getColumnProperties()).indexOf(property);
if (columnIndex >= 0 && columnIndex < viewer.getColumnProperties().length) {
if (isAColumnWithCombo(columnIndex)) {
String[] attrs = conditionColumns[columnIndex].getComboValues();
value = attrs[Integer.parseInt(value.toString())];
}
KeyValue kv = line.keyValues.get(columnIndex);
boolean noChange = kv.value.equals(value.toString());
kv.value = value.toString();
viewer.refresh();
if (!noChange && page != null) {
page.markDirty();
}
}
}
use of com.amalto.workbench.models.Line in project tmdm-studio-se by Talend.
the class AddBrowseItemsWizardR method modifyRolesWithAttachedBrowseItem.
@Override
protected void modifyRolesWithAttachedBrowseItem(String browseItem, List<Line> roles) {
for (Line line : roles) {
List<KeyValue> keyValues = line.keyValues;
String roleName = keyValues.get(0).value;
MDMServerObjectItem roleItem = RepositoryQueryService.findServerObjectItemByName(IServerObjectRepositoryType.TYPE_ROLE, roleName);
if (roleItem != null) {
CommandManager.getInstance().pushCommand(ICommand.CMD_MODIFY, roleItem.getProperty().getId(), roleItem.getMDMServerObject().getName());
}
if (roleItem != null) {
IProxyRepositoryFactory factory = CoreRuntimePlugin.getInstance().getProxyRepositoryFactory();
if (factory.isEditableAndLockIfPossible(roleItem)) {
WSRoleE role = ((WSRoleItem) roleItem).getWsRole();
for (WSRoleSpecificationE spec : role.getSpecification()) {
if (spec.getObjectType().equals("View")) {
// $NON-NLS-1$
EList<WSRoleSpecificationInstanceE> specInstance = spec.getInstance();
//
WSRoleSpecificationInstanceE newInstance = MdmserverobjectFactory.eINSTANCE.createWSRoleSpecificationInstanceE();
newInstance.setInstanceName(browseItem);
// $NON-NLS-1$
newInstance.setWritable(keyValues.get(1).value.equals("Read Only") ? false : true);
//
specInstance.add(newInstance);
//
break;
}
}
RepositoryResourceUtil.saveItem(roleItem);
}
try {
factory.unlock(roleItem);
} catch (PersistenceException e) {
log.error(e.getMessage(), e);
} catch (LoginException e) {
log.error(e.getMessage(), e);
}
}
}
}
Aggregations