blob: 7e322142d682636814c597d8e4efbd678f16488d [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.uima.dde.internal.details;
import org.apache.uima.aae.deployment.AEDeploymentConstants;
import org.apache.uima.aae.deployment.AEDeploymentDescription;
import org.apache.uima.aae.deployment.AEDeploymentMetaData;
import org.apache.uima.aae.deployment.AsyncAEErrorConfiguration;
import org.apache.uima.aae.deployment.AsyncAggregateErrorConfiguration;
import org.apache.uima.aae.deployment.CollectionProcessCompleteErrors;
import org.apache.uima.aae.deployment.GetMetadataErrors;
import org.apache.uima.aae.deployment.ProcessCasErrors;
import org.apache.uima.aae.deployment.impl.AEDeploymentMetaData_Impl;
import org.apache.uima.aae.deployment.impl.DeploymentMetaData_Impl;
import org.apache.uima.dde.internal.DeploymentDescriptorEditor;
import org.apache.uima.dde.internal.Messages;
import org.apache.uima.dde.internal.provider.ErrorConfigContentProvider;
import org.apache.uima.dde.internal.provider.ErrorsConfigLabelProvider;
import org.apache.uima.dde.internal.provider.NameValuePair;
import org.apache.uima.tools.debug.util.Trace;
import org.apache.uima.tools.internal.ui.forms.FormSection;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CCombo;
import org.eclipse.swt.custom.TableEditor;
import org.eclipse.swt.custom.TreeEditor;
import org.eclipse.swt.events.FocusEvent;
import org.eclipse.swt.events.FocusListener;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Spinner;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.swt.widgets.TableItem;
import org.eclipse.swt.widgets.Text;
import org.eclipse.swt.widgets.Tree;
import org.eclipse.swt.widgets.TreeItem;
import org.eclipse.ui.forms.FormColors;
import org.eclipse.ui.forms.IDetailsPage;
import org.eclipse.ui.forms.IFormPart;
import org.eclipse.ui.forms.IManagedForm;
import org.eclipse.ui.forms.SectionPart;
import org.eclipse.ui.forms.events.ExpansionAdapter;
import org.eclipse.ui.forms.events.ExpansionEvent;
import org.eclipse.ui.forms.widgets.FormToolkit;
import org.eclipse.ui.forms.widgets.ScrolledPageBook;
import org.eclipse.ui.forms.widgets.Section;
import org.eclipse.ui.forms.widgets.TableWrapData;
import org.eclipse.ui.forms.widgets.TableWrapLayout;
public class ErrorConfigDetailsPage implements IDetailsPage {
private DeploymentDescriptorEditor multiPageEditor;
private boolean isDelegate;
private Object selectedObject = null;
private IManagedForm mform;
private FormToolkit toolkit;
// private ScrolledPageBook myScrolledPageBook = null; // used to support Section
private Section sectionErrorConfigDetails;
protected TableViewer getMetaDataViewer;
protected TableViewer processCasErrorsViewer;
protected TableViewer collProcessCompleteErrorsViewer;
protected Button buttonGetMetaData;
protected Button buttonProcessCasErrors;
protected Button buttonCollCompleteErrors;
protected Table tableGetMetaData;
protected Table tableProcessCasErrors;
protected Table tableCollCompleteErrors;
/** ********************************************************************** */
private class WidgetListener implements ModifyListener, SelectionListener {
public void modifyText(ModifyEvent e) {
}
public void widgetSelected(SelectionEvent e) {
Object source = e.getSource();
if (source == buttonGetMetaData) {
tableGetMetaData.setEnabled(buttonGetMetaData.getSelection());
} else if (source == buttonProcessCasErrors) {
tableProcessCasErrors.setEnabled(buttonProcessCasErrors.getSelection());
} else if (source == buttonCollCompleteErrors) {
tableCollCompleteErrors.setEnabled(buttonCollCompleteErrors.getSelection());
} else {
}
}
public void widgetDefaultSelected(SelectionEvent e) {
}
}
// private WidgetListener fListener = new WidgetListener();
/** ********************************************************************** */
public ErrorConfigDetailsPage(DeploymentDescriptorEditor editor, IManagedForm mform,
boolean isDelegate) {
this.multiPageEditor = editor;
this.mform = mform;
this.toolkit = mform.getToolkit();
this.isDelegate = isDelegate;
}
//
// Note: "parent" is a "LayoutComposite" created by "ScrolledPageBook pageBook"
// in "DetailsPart".
// The parent of "parent" is "WrappedPageBook pageBook".
// The grand-parent of "parent" is ScrolledPageBook which needs to be
// "reflowed" when Section is expanded/collapsed.
public void createContents(Composite parent) {
// Get ScrolledPageBook
// myScrolledPageBook = (ScrolledPageBook) parent.getParent().getParent();
// Set Layout for "parent"
TableWrapLayout layout = new TableWrapLayout();
layout.topMargin = 0;
layout.leftMargin = 5;
layout.rightMargin = 2;
layout.bottomMargin = 2;
parent.setLayout(layout);
createConfigurationsSection(parent, toolkit);
}
public Section createConfigurationsSection(Composite parent, FormToolkit toolkit) {
sectionErrorConfigDetails = FormSection.createTableWrapDataSection(toolkit, parent,
Section.TWISTIE | Section.EXPANDED,
Messages.DDE_AEConfigPage_ErrorConfig_Section_Title,
"The following is the information about the ...", 10, 5, TableWrapData.FILL_GRAB,
TableWrapData.FILL_GRAB, 1, 1);
final SectionPart spart = new SectionPart(sectionErrorConfigDetails);
mform.addPart(spart);
spart.initialize(mform); // Need this code. Otherwise, exception in SectionPart !!!
sectionErrorConfigDetails.setExpanded(true);
// /////////////////////////////////////////////////////////////////////
Composite sectionClient = toolkit.createComposite(sectionErrorConfigDetails);
TableWrapLayout tl = new TableWrapLayout();
tl.numColumns = 1;
tl.leftMargin = 2;
tl.rightMargin = 2;
tl.topMargin = 2;
tl.bottomMargin = 6; // cannot be < 6 (otherwise, lost bottom-border of table)
sectionClient.setLayout(tl);
sectionErrorConfigDetails.setClient(sectionClient);
toolkit.paintBordersFor(sectionClient);
// /////////////////////////////////////////////////////////////////////
// GetMetadataError
if (isDelegate) {
toolkit.createLabel(sectionClient, "Get Metadata Error:");
tableGetMetaData = createErrorsTable(sectionClient, 3);
getMetaDataViewer = new TableViewer(tableGetMetaData);
getMetaDataViewer.setContentProvider(new ErrorConfigContentProvider());
getMetaDataViewer.setLabelProvider(new ErrorsConfigLabelProvider(getMetaDataViewer));
createEditorsForTableColumn(tableGetMetaData);
// Vertical Spacing
new Label(sectionClient, SWT.NONE).setText("");
}
// ProcessCasErrors
// buttonProcessCasErrors = toolkit.createButton(sectionClient, "ProcessCasErrors:", SWT.CHECK);
toolkit.createLabel(sectionClient, "Process CAS Errors:");
tableProcessCasErrors = createErrorsTable(sectionClient, isDelegate ? 6 : 3);
processCasErrorsViewer = new TableViewer(tableProcessCasErrors);
processCasErrorsViewer.setContentProvider(new ErrorConfigContentProvider());
processCasErrorsViewer.setLabelProvider(new ErrorsConfigLabelProvider(processCasErrorsViewer));
createEditorsForTableColumn(tableProcessCasErrors);
// Vertical Spacing
new Label(sectionClient, SWT.NONE).setText("");
// CollectionProcessCompleteError
// buttonCollCompleteErrors = toolkit.createButton(sectionClient,
// "CollectionProcessCompleteError:", SWT.CHECK);
toolkit.createLabel(sectionClient, "Collection Process Complete Error:");
tableCollCompleteErrors = createErrorsTable(sectionClient, 2);
collProcessCompleteErrorsViewer = new TableViewer(tableCollCompleteErrors);
collProcessCompleteErrorsViewer.setContentProvider(new ErrorConfigContentProvider());
collProcessCompleteErrorsViewer.setLabelProvider(new ErrorsConfigLabelProvider(collProcessCompleteErrorsViewer));
createEditorsForTableColumn(tableCollCompleteErrors);
return sectionErrorConfigDetails;
} // createConfigurationsSection
private Table createErrorsTable(Composite parent, int totalItems) {
final Table table = toolkit.createTable(parent, SWT.HIDE_SELECTION | SWT.FULL_SELECTION
| SWT.H_SCROLL | SWT.V_SCROLL);
table.setLinesVisible(true);
table.setHeaderVisible(true);
String headers[] = { "Name", "Value" };
final TableColumn columns[] = new TableColumn[headers.length];
for (int i = 0; i < headers.length; i++) {
TableColumn tc = new TableColumn(table, SWT.NONE, i);
tc.setResizable(true);
tc.setText(headers[i]);
if (i == 0) {
tc.setWidth(200);
} else {
tc.setWidth(100);
}
columns[i] = tc;
}
TableWrapData gd = new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.FILL_GRAB);
gd.grabHorizontal = true;
gd.valign = TableWrapData.FILL;
gd.heightHint = table.getHeaderHeight() + (table.getItemHeight() * (totalItems + 1)); // +1
table.setLayoutData(gd);
return table;
}
public void displayDetails(DeploymentMetaData_Impl meta, AsyncAEErrorConfiguration obj) {
sectionErrorConfigDetails.setText(Messages.DDE_AEConfigPage_ErrorConfig_Section_Title
+ " - " + meta.getKey());
if (getMetaDataViewer != null && obj.getGetMetadataErrors() != null) {
getMetaDataViewer.setInput(obj.getGetMetadataErrors());
}
if (obj.getProcessCasErrors() != null) {
processCasErrorsViewer.setInput(obj.getProcessCasErrors());
}
if (obj.getCollectionProcessCompleteErrors() != null) {
collProcessCompleteErrorsViewer.setInput(obj.getCollectionProcessCompleteErrors());
}
}
private void createEditorsForTree(final Tree tree) {
final TreeEditor editor1 = new TreeEditor(tree);
editor1.horizontalAlignment = SWT.CENTER;
editor1.minimumWidth = 60;
final TreeEditor editor2 = new TreeEditor(tree);
editor2.horizontalAlignment = SWT.CENTER;
editor2.grabHorizontal = true;
editor2.minimumWidth = 60;
tree.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
// Clean up any previous editor control
Control oldEditor = editor1.getEditor();
if (oldEditor != null)
oldEditor.dispose();
oldEditor = editor2.getEditor();
if (oldEditor != null)
oldEditor.dispose();
// Identify the selected row
final TreeItem item = (TreeItem) e.item;
// if (!isEditable(item))
// return;
final Spinner spinner = new Spinner(tree, SWT.BORDER);
spinner.setMinimum(0);
String level = item.getText(1);
int defaultLevel = level.length() == 0 || "default".equals(level) ? 0 : Integer.parseInt(level); //$NON-NLS-1$
spinner.setSelection(defaultLevel);
spinner.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
if (item.getChecked()) {
int selection = spinner.getSelection();
item.setText(1, selection == 0 ? "default" //$NON-NLS-1$
: Integer.toString(selection));
// fTab.updateLaunchConfigurationDialog();
}
}
});
editor1.setEditor(spinner, item, 1);
final CCombo combo = new CCombo(tree, SWT.BORDER | SWT.READ_ONLY);
combo.setItems(new String[] { "default", Boolean.toString(true), Boolean.toString(false) }); //$NON-NLS-1$
combo.setText(item.getText(2));
combo.pack();
combo.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
if (item.getChecked()) {
item.setText(2, combo.getText());
// fTab.updateLaunchConfigurationDialog();
}
}
});
editor2.setEditor(combo, item, 2);
}
});
}
private void createEditorsForTableColumn(final Table table) {
final TableEditor editor1 = new TableEditor(table);
editor1.horizontalAlignment = SWT.CENTER;
editor1.grabHorizontal = true;
editor1.minimumWidth = 60;
final TableEditor editor2 = new TableEditor(table);
editor2.horizontalAlignment = SWT.CENTER;
editor2.grabHorizontal = true;
editor2.minimumWidth = 60;
table.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
// Clean up any previous editor control
Control oldEditor = editor1.getEditor();
if (oldEditor != null) {
oldEditor.dispose();
}
oldEditor = editor2.getEditor();
if (oldEditor != null) {
oldEditor.dispose();
}
// Identify the selected row
final TableItem item = (TableItem) e.item;
if (!isEditable(item)) {
table.setSelection(new TableItem[0]);
return;
}
}
public void widgetDefaultSelected(SelectionEvent e) {
// Clean up any previous editor control
Control oldEditor = editor1.getEditor();
if (oldEditor != null) {
oldEditor.dispose();
}
oldEditor = editor2.getEditor();
if (oldEditor != null) {
oldEditor.dispose();
}
// Identify the selected row
final TableItem item = (TableItem) e.item;
if (!isEditable(item)) {
table.setSelection(new TableItem[0]);
return;
}
final NameValuePair nvp = (NameValuePair) item.getData();
if (nvp == null) {
Trace.err("No item's object");
return;
}
final Object obj = nvp.getParent();
if (nvp.getType() == Integer.class) {
// For Integer Editing
final Spinner spinner = new Spinner(table, SWT.BORDER);
spinner.setMinimum(0);
spinner.setMaximum(Integer.MAX_VALUE);
String value = item.getText(1);
if (value.equals(AEDeploymentConstants.ERROR_KIND_STRING_NO_TIMEOUT)
|| value.equals(AEDeploymentConstants.ERROR_KIND_STRING_NO_RETRIES)
|| value.equals(AEDeploymentConstants.ERROR_KIND_STRING_NO_THRESHOLD_COUNT)
|| value.equals(AEDeploymentConstants.ERROR_KIND_STRING_NO_THRESHOLD_WINDOW)) {
value = "0";
}
int level = Integer.parseInt(value);
spinner.setSelection(level);
spinner.setFocus();
spinner.addFocusListener(new FocusListener() {
public void focusGained(FocusEvent e) {
}
public void focusLost(FocusEvent e) {
// Clean up any previous editor control
Control oldEditor = editor1.getEditor();
if (oldEditor != null)
oldEditor.dispose();
oldEditor = editor2.getEditor();
if (oldEditor != null)
oldEditor.dispose();
spinner.dispose();
}
});
spinner.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
int selection = spinner.getSelection();
item.setText(1, Integer.toString(selection));
int id = nvp.getId();
if (obj instanceof GetMetadataErrors) {
GetMetadataErrors getMetadataErrors = (GetMetadataErrors) obj;
getMetadataErrors.setValueById(id, selection);
getMetaDataViewer.refresh();
} else if (obj instanceof ProcessCasErrors) {
ProcessCasErrors processCasErrors = (ProcessCasErrors) obj;
processCasErrors.setValueById(id, selection);
processCasErrorsViewer.refresh();
} else if (obj instanceof CollectionProcessCompleteErrors) {
CollectionProcessCompleteErrors completeErrors = (CollectionProcessCompleteErrors) obj;
completeErrors.setValueById(id, selection);
collProcessCompleteErrorsViewer.refresh();
}
multiPageEditor.setFileDirty();
}
});
editor1.setEditor(spinner, item, 1);
} else if (nvp.getType() == String.class) {
final CCombo combo = new CCombo(table, SWT.BORDER | SWT.READ_ONLY);
combo.setItems(new String[] { "terminate", "disable" }); //$NON-NLS-1$
combo.setText(item.getText(1));
combo.pack();
combo.setFocus();
combo.addFocusListener(new FocusListener() {
public void focusGained(FocusEvent e) {
}
public void focusLost(FocusEvent e) {
// Clean up any previous editor control
Control oldEditor = editor1.getEditor();
if (oldEditor != null)
oldEditor.dispose();
oldEditor = editor2.getEditor();
if (oldEditor != null)
oldEditor.dispose();
combo.dispose();
}
});
combo.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
String selection = combo.getText();
item.setText(1, selection);
int id = nvp.getId();
if (obj instanceof GetMetadataErrors) {
GetMetadataErrors getMetadataErrors = (GetMetadataErrors) obj;
getMetadataErrors.setValueById(id, selection);
getMetaDataViewer.refresh();
} else if (obj instanceof ProcessCasErrors) {
ProcessCasErrors processCasErrors = (ProcessCasErrors) obj;
processCasErrors.setValueById(id, selection);
processCasErrorsViewer.refresh();
} else if (obj instanceof CollectionProcessCompleteErrors) {
CollectionProcessCompleteErrors completeErrors = (CollectionProcessCompleteErrors) obj;
completeErrors.setValueById(id, selection);
collProcessCompleteErrorsViewer.refresh();
}
multiPageEditor.setFileDirty();
}
});
editor2.setEditor(combo, item, 1);
} else if (nvp.getType() == Boolean.class) {
// Only for ProcessCasErrors
if (obj instanceof ProcessCasErrors) {
final CCombo combo = new CCombo(table, SWT.BORDER | SWT.READ_ONLY);
combo.setItems(new String[] { Boolean.toString(true), Boolean.toString(false) }); //$NON-NLS-1$
combo.setText(item.getText(1));
combo.pack();
combo.setFocus();
combo.addFocusListener(new FocusListener() {
public void focusGained(FocusEvent e) {
}
public void focusLost(FocusEvent e) {
// Clean up any previous editor control
Control oldEditor = editor1.getEditor();
if (oldEditor != null)
oldEditor.dispose();
oldEditor = editor2.getEditor();
if (oldEditor != null)
oldEditor.dispose();
combo.dispose();
}
});
combo.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
String selection = combo.getText();
int id = nvp.getId();
item.setText(1,selection);
ProcessCasErrors processCasErrors = (ProcessCasErrors) obj;
processCasErrors.setValueById(id, selection);
processCasErrorsViewer.refresh();
multiPageEditor.setFileDirty();
}
});
editor2.setEditor(combo, item, 1);
}
} else {
Trace.err("nvp.getType(): " + nvp.getType().getClass().getName());
}
}
});
}
private void createEditorsForTable_NOT_USED(final Table table) {
final TableEditor editor1 = new TableEditor(table);
editor1.horizontalAlignment = SWT.CENTER;
editor1.grabHorizontal = true;
editor1.minimumWidth = 60;
final TableEditor editor2 = new TableEditor(table);
editor2.horizontalAlignment = SWT.CENTER;
editor2.grabHorizontal = true;
editor2.minimumWidth = 60;
table.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
// Clean up any previous editor control
Control oldEditor = editor1.getEditor();
if (oldEditor != null)
oldEditor.dispose();
oldEditor = editor2.getEditor();
if (oldEditor != null)
oldEditor.dispose();
// Identify the selected row
final TableItem item = (TableItem) e.item;
// if (!isEditable(item))
// return;
final NameValuePair nvp = (NameValuePair) item.getData();
if (nvp == null) {
Trace.err("No item's object");
return;
}
final Object obj = nvp.getParent();
if (nvp.getType() == Integer.class) {
// For Integer Editing
final Spinner spinner = new Spinner(table, SWT.BORDER);
spinner.setMinimum(0);
spinner.setMaximum(Integer.MAX_VALUE);
int level = Integer.parseInt(item.getText(1));
spinner.setSelection(level);
spinner.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
int selection = spinner.getSelection();
item.setText(1, Integer.toString(selection));
int id = nvp.getId();
if (obj instanceof GetMetadataErrors) {
GetMetadataErrors getMetadataErrors = (GetMetadataErrors) obj;
getMetadataErrors.setValueById(id, selection);
getMetaDataViewer.refresh();
} else if (obj instanceof ProcessCasErrors) {
ProcessCasErrors processCasErrors = (ProcessCasErrors) obj;
processCasErrors.setValueById(id, selection);
processCasErrorsViewer.refresh();
} else if (obj instanceof CollectionProcessCompleteErrors) {
CollectionProcessCompleteErrors completeErrors = (CollectionProcessCompleteErrors) obj;
completeErrors.setValueById(id, selection);
collProcessCompleteErrorsViewer.refresh();
}
}
});
editor1.setEditor(spinner, item, 1);
} else if (nvp.getType() == String.class) {
final CCombo combo = new CCombo(table, SWT.BORDER | SWT.READ_ONLY);
combo.setItems(new String[] { "terminate", "disable" }); //$NON-NLS-1$
combo.setText(item.getText(1));
combo.pack();
combo.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
String selection = combo.getText();
item.setText(1, selection);
int id = nvp.getId();
if (obj instanceof GetMetadataErrors) {
GetMetadataErrors getMetadataErrors = (GetMetadataErrors) obj;
getMetadataErrors.setValueById(id, selection);
getMetaDataViewer.refresh();
} else if (obj instanceof ProcessCasErrors) {
ProcessCasErrors processCasErrors = (ProcessCasErrors) obj;
processCasErrors.setValueById(id, selection);
processCasErrorsViewer.refresh();
} else if (obj instanceof CollectionProcessCompleteErrors) {
CollectionProcessCompleteErrors completeErrors = (CollectionProcessCompleteErrors) obj;
completeErrors.setValueById(id, selection);
collProcessCompleteErrorsViewer.refresh();
}
}
});
editor2.setEditor(combo, item, 1);
} else if (nvp.getType() == Boolean.class) {
// Only for ProcessCasErrors
if (obj instanceof ProcessCasErrors) {
final CCombo combo = new CCombo(table, SWT.BORDER | SWT.READ_ONLY);
combo.setItems(new String[] { Boolean.toString(true), Boolean.toString(false) }); //$NON-NLS-1$
combo.setText(item.getText(1));
combo.pack();
combo.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
int id = nvp.getId();
item.setText(1, combo.getText());
ProcessCasErrors processCasErrors = (ProcessCasErrors) obj;
processCasErrors.setValueById(id, combo.getText());
processCasErrorsViewer.refresh();
}
});
editor2.setEditor(combo, item, 1);
}
} else {
Trace.err("nvp.getType(): " + nvp.getType().getClass().getName());
}
}
});
}
private boolean isEditable (TableItem item) {
final NameValuePair nvp = (NameValuePair) item.getData();
if (nvp == null) {
Trace.err("No item's object");
return false;
}
return !(nvp.getStatusFlags() == NameValuePair.STATUS_NON_EDITABLE);
}
/** ********************************************************************** */
public void commit(boolean onSave) {
// TODO Auto-generated method stub
}
public void dispose() {
// TODO Auto-generated method stub
}
public void initialize(IManagedForm form) {
this.mform = form;
}
public boolean isDirty() {
// TODO Auto-generated method stub
return false;
}
public boolean isStale() {
// TODO Auto-generated method stub
return false;
}
public void refresh() {
// TODO Auto-generated method stub
}
public void setFocus() {
// TODO Auto-generated method stub
}
public boolean setFormInput(Object input) {
// TODO Auto-generated method stub
return false;
}
public void selectionChanged(IFormPart part, ISelection selection) {
if (selection == null || !(selection instanceof IStructuredSelection)) {
return;
}
IStructuredSelection ssel = (IStructuredSelection) selection;
if (ssel.size() != 1) {
return;
}
selectedObject = ssel.getFirstElement();
if (selectedObject instanceof AsyncAggregateErrorConfiguration) {
// displayDetails((AsyncAggregateErrorConfiguration) selectedObject);
} else {
Trace.err("selectedObject: " + selectedObject.getClass().getName());
}
}
}