/******************************************************************************* | |
* Copyright (c) 2005, 2012 IBM Corporation and others. | |
* All rights reserved. This program and the accompanying materials | |
* are made available under the terms of the Eclipse Public License v1.0 | |
* which accompanies this distribution, and is available at | |
* http://www.eclipse.org/legal/epl-v10.html | |
* | |
* Contributors: | |
* IBM Corporation - initial API and implementation | |
*******************************************************************************/ | |
package org.eclipse.bpel.ui.preferences; | |
import java.io.File; | |
import java.io.IOException; | |
import java.util.Collections; | |
import java.util.Iterator; | |
import java.util.List; | |
import org.eclipse.bpel.model.resource.BPELResourceSetImpl; | |
import org.eclipse.bpel.ui.BPELUIPlugin; | |
import org.eclipse.bpel.ui.IBPELUIConstants; | |
import org.eclipse.bpel.ui.IHelpContextIds; | |
import org.eclipse.bpel.ui.Messages; | |
import org.eclipse.bpel.ui.details.providers.ColumnTableProvider; | |
import org.eclipse.bpel.ui.details.providers.WSILContentProvider; | |
import org.eclipse.bpel.ui.util.BPELUtil; | |
import org.eclipse.bpel.ui.util.NamespaceUtils; | |
import org.eclipse.bpel.ui.util.TableCursor; | |
import org.eclipse.bpel.wsil.model.inspection.Inspection; | |
import org.eclipse.bpel.wsil.model.inspection.InspectionFactory; | |
import org.eclipse.bpel.wsil.model.inspection.InspectionPackage; | |
import org.eclipse.bpel.wsil.model.inspection.Link; | |
import org.eclipse.bpel.wsil.model.inspection.TypeOfAbstract; | |
import org.eclipse.bpel.wsil.model.inspection.WSILDocument; | |
import org.eclipse.emf.common.notify.Notification; | |
import org.eclipse.emf.common.util.EList; | |
import org.eclipse.emf.common.util.URI; | |
import org.eclipse.emf.ecore.resource.Resource; | |
import org.eclipse.emf.ecore.util.EContentAdapter; | |
import org.eclipse.jface.preference.IPreferenceStore; | |
import org.eclipse.jface.preference.PreferencePage; | |
import org.eclipse.jface.viewers.CellEditor; | |
import org.eclipse.jface.viewers.ICellModifier; | |
import org.eclipse.jface.viewers.ILabelProvider; | |
import org.eclipse.jface.viewers.ISelection; | |
import org.eclipse.jface.viewers.ISelectionChangedListener; | |
import org.eclipse.jface.viewers.IStructuredSelection; | |
import org.eclipse.jface.viewers.SelectionChangedEvent; | |
import org.eclipse.jface.viewers.TableViewer; | |
import org.eclipse.jface.viewers.TextCellEditor; | |
import org.eclipse.jface.viewers.Viewer; | |
import org.eclipse.jface.viewers.ViewerFilter; | |
import org.eclipse.swt.SWT; | |
import org.eclipse.swt.events.FocusEvent; | |
import org.eclipse.swt.events.FocusListener; | |
import org.eclipse.swt.events.SelectionAdapter; | |
import org.eclipse.swt.events.SelectionEvent; | |
import org.eclipse.swt.layout.GridData; | |
import org.eclipse.swt.layout.GridLayout; | |
import org.eclipse.swt.widgets.Button; | |
import org.eclipse.swt.widgets.Composite; | |
import org.eclipse.swt.widgets.Control; | |
import org.eclipse.swt.widgets.FileDialog; | |
import org.eclipse.swt.widgets.Label; | |
import org.eclipse.swt.widgets.Table; | |
import org.eclipse.swt.widgets.Text; | |
import org.eclipse.ui.IWorkbench; | |
import org.eclipse.ui.IWorkbenchPreferencePage; | |
import org.eclipse.ui.PlatformUI; | |
/** | |
* | |
* @author Michal Chmielewski (michal.chmielewski@oracle.com) | |
* @date May 2, 2007 | |
* | |
*/ | |
@SuppressWarnings({"nls","boxing","unchecked"}) | |
public class WSILPreferencePage extends PreferencePage implements IWorkbenchPreferencePage { | |
BPELResourceSetImpl resourceSet = new BPELResourceSetImpl(); | |
Text wsilURL; | |
Table linkTable; | |
ColumnTableProvider tableProvider; | |
TableViewer linkTableViewer; | |
TableCursor tableCursor; | |
Link fLinkSelection; | |
WSILDocument fWsilDocument; | |
Button addButton; | |
Button removeButton; | |
Button moveUpButton; | |
Button moveDownButton; | |
Button openInBrowserButton; | |
private static String WSIL = "wsil"; | |
// Track the modification of any element in the WSIL model. | |
// we don't use commands and stacks here. | |
EContentAdapter fContentAdapter = new EContentAdapter() { | |
/** | |
* @see org.eclipse.emf.ecore.util.EContentAdapter#notifyChanged(org.eclipse.emf.common.notify.Notification) | |
*/ | |
@Override | |
public void notifyChanged(Notification arg0) { | |
super.notifyChanged(arg0); | |
int eventId = arg0.getEventType(); | |
if (eventId == Notification.ADD || eventId == Notification.SET || | |
eventId == Notification.MOVE || eventId == Notification.REMOVE ) { | |
linkTableViewer.refresh(); | |
updateButtons(); | |
} | |
} | |
}; | |
@Override | |
protected Control createContents (Composite parent) { | |
Composite result = new Composite(parent, SWT.NONE); | |
GridLayout layout = new GridLayout( ); | |
layout.numColumns = 3; | |
layout.verticalSpacing = 15; | |
layout.makeColumnsEqualWidth = false; | |
result.setLayout(layout); | |
GridData data = new GridData(GridData.FILL_BOTH); | |
// result.setLayoutData(data); | |
// WSIL directory | |
Label wsilLabel = new Label(result, SWT.NONE); | |
wsilLabel.setText(Messages.BPELPreferencePage_WSIL_1); | |
wsilLabel.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING)); | |
wsilURL = new Text(result, SWT.BORDER); | |
wsilURL.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); | |
wsilURL.addFocusListener( new FocusListener () { | |
public void focusGained(FocusEvent e) { | |
wsilURL.setData("lastValue",wsilURL.getText()); | |
} | |
public void focusLost(FocusEvent e) { | |
String url = wsilURL.getText(); | |
// no change. | |
if (url.equals(wsilURL.getData("lastValue"))) { | |
return ; | |
} | |
attemptLoad( url ); | |
} | |
}); | |
Button browse = new Button(result, SWT.NONE); | |
browse.setText(Messages.BPELPreferencePage_WSIL_2); | |
data = new GridData(SWT.RIGHT); | |
data.widthHint = 100; | |
browse.setLayoutData(data); | |
browse.addSelectionListener(new SelectionAdapter() { | |
@Override | |
public void widgetSelected(SelectionEvent e) { | |
FileDialog fd = new FileDialog(getShell(), SWT.OPEN); | |
fd.setFilterExtensions(new String[]{"*."+WSIL}); | |
String fileName = fd.open(); | |
if ((fileName != null) && (fileName.length() > 0)) { | |
// parse to file url | |
File file = new File(fileName); | |
String uri = file.toURI().toString(); | |
wsilURL.setText( uri ); | |
attemptLoad(uri); | |
} | |
} | |
} | |
); | |
// 2nd row of the 3 cell grid | |
Label txt = new Label ( result, SWT.NO_BACKGROUND | SWT.WRAP ); | |
txt.setText( Messages.BPELPreferencePage_WSIL_Description ); | |
data = new GridData( GridData.GRAB_HORIZONTAL ); | |
data.horizontalSpan = 3; | |
txt.setLayoutData(data); | |
// | |
// | |
// create table | |
linkTable = new Table(result, SWT.FULL_SELECTION | SWT.V_SCROLL | SWT.BORDER ); | |
data = new GridData(GridData.FILL_BOTH); | |
data.horizontalSpan = 2; | |
linkTable.setLayoutData(data); | |
// set up table | |
linkTable.setLinesVisible(true); | |
linkTable.setHeaderVisible(true); | |
tableProvider = new ColumnTableProvider(); | |
tableProvider.add(new IndexColumn()); | |
tableProvider.add(new AbstractColumn()); | |
tableProvider.add(new LocationColumn()); | |
// tableProvider.add(new NamespaceColumn()); | |
linkTableViewer = new TableViewer(linkTable); | |
tableProvider.createTableLayout(linkTable); | |
linkTableViewer.setLabelProvider(tableProvider); | |
linkTableViewer.setCellModifier(tableProvider); | |
WSILContentProvider wsilContentProvider = new WSILContentProvider(); | |
wsilContentProvider.setMode( WSILContentProvider.FLATTEN ); | |
linkTableViewer.setContentProvider( wsilContentProvider ); | |
linkTableViewer.addFilter(new ViewerFilter() { | |
@Override | |
public boolean select(Viewer viewer, Object parentElement, Object element) { | |
return element instanceof Link; | |
} | |
}); | |
linkTableViewer.setColumnProperties(tableProvider.getColumnProperties()); | |
linkTableViewer.setCellEditors(tableProvider.createCellEditors(linkTable)); | |
tableCursor = BPELUtil.createTableCursor(linkTable, linkTableViewer); | |
/// | |
layout = new GridLayout(); | |
layout.numColumns = 1; | |
layout.verticalSpacing = 5; | |
Composite buttonList = new Composite ( result , SWT.NONE ); | |
buttonList.setLayout(layout); | |
data = new GridData( GridData.VERTICAL_ALIGN_BEGINNING | GridData.HORIZONTAL_ALIGN_CENTER ); | |
buttonList.setLayoutData( data ); | |
addButton = new Button(buttonList, SWT.NONE); | |
addButton.setText(Messages.BPELPreferencePage_WSIL_Add); | |
data = new GridData( GridData.FILL_HORIZONTAL ); | |
addButton.setLayoutData(data); | |
addButton.addSelectionListener(new SelectionAdapter() { | |
@Override | |
public void widgetSelected(SelectionEvent e) { | |
Link link = InspectionFactory.eINSTANCE.createLink(); | |
link.setLocation(Messages.BPELPreferencePage_WSIL_EnterLocation); | |
link.setReferencedNamespace( InspectionPackage.eNS_URI ); | |
TypeOfAbstract toa = InspectionFactory.eINSTANCE.createTypeOfAbstract(); | |
toa.setValue(Messages.BPELPreferencePage_WSIL_EnterDescription); | |
link.getAbstract().add( toa ); | |
// modify the document | |
EList links = fWsilDocument.getInspection().getLinks(); | |
links.add ( link ); | |
// notifications of modifications are sent back to us via the EContentAdapter | |
// on the WSIL Document resource. | |
} | |
}); | |
removeButton = new Button(buttonList, SWT.NONE); | |
removeButton.setText(Messages.BPELPreferencePage_WSIL_Remove); | |
data = new GridData( GridData.FILL_HORIZONTAL ); | |
removeButton.setLayoutData(data); | |
removeButton.addSelectionListener(new SelectionAdapter() { | |
@Override | |
public void widgetSelected(SelectionEvent e) { | |
if (fLinkSelection == null) { | |
return ; | |
} | |
// modify the document | |
EList links = fWsilDocument.getInspection().getLinks(); | |
links.remove(fLinkSelection); | |
} | |
}); | |
moveUpButton = new Button(buttonList, SWT.NONE); | |
moveUpButton.setText(Messages.BPELPreferencePage_WSIL_MoveUp); | |
data = new GridData( GridData.FILL_HORIZONTAL ); | |
moveUpButton.setLayoutData(data); | |
moveUpButton.addSelectionListener(new SelectionAdapter() { | |
@Override | |
public void widgetSelected(SelectionEvent e) { | |
if (fLinkSelection == null) { | |
return ; | |
} | |
// modify the document | |
EList links = fWsilDocument.getInspection().getLinks(); | |
int idx = links.indexOf(fLinkSelection); | |
if (idx < 0) { | |
return ; | |
} | |
links.move(idx,idx-1); | |
} | |
}); | |
moveDownButton = new Button(buttonList, SWT.NONE); | |
moveDownButton.setText(Messages.BPELPreferencePage_WSIL_MoveDown); | |
data = new GridData( GridData.FILL_HORIZONTAL ); | |
moveDownButton.setLayoutData(data); | |
moveDownButton.addSelectionListener(new SelectionAdapter() { | |
@Override | |
public void widgetSelected(SelectionEvent e) { | |
if (fLinkSelection == null) { | |
return ; | |
} | |
// modify the document | |
EList links = fWsilDocument.getInspection().getLinks(); | |
int idx = links.indexOf(fLinkSelection); | |
if (idx < 0) { | |
return ; | |
} | |
links.move(idx, idx+1); | |
} | |
}); | |
openInBrowserButton = new Button(buttonList, SWT.NONE); | |
openInBrowserButton.setText(Messages.BPELPreferencePage_WSIL_OpenInBrowser); | |
data = new GridData( GridData.FILL_HORIZONTAL ); | |
openInBrowserButton.setLayoutData(data); | |
openInBrowserButton.addSelectionListener(new SelectionAdapter() { | |
@Override | |
public void widgetSelected(SelectionEvent e) { | |
if (fLinkSelection == null) { | |
return ; | |
} | |
// TODO: | |
} | |
}); | |
linkTableViewer.addPostSelectionChangedListener( new ISelectionChangedListener () { | |
public void selectionChanged (SelectionChangedEvent event) { | |
ISelection selection = event.getSelection(); | |
if (selection instanceof IStructuredSelection) { | |
IStructuredSelection ss = (IStructuredSelection) selection; | |
Object obj = ss.getFirstElement(); | |
fLinkSelection = obj instanceof Link ? (Link) obj : null; | |
} | |
updateButtons(); | |
} | |
}); | |
updateButtons(); | |
initializeValues(); | |
PlatformUI.getWorkbench().getHelpSystem().setHelp( | |
parent, IHelpContextIds.PREFERENCES_PAGE); | |
return result; | |
} | |
/** | |
* @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench) | |
*/ | |
public void init(IWorkbench workbench) { | |
} | |
@Override | |
protected void performDefaults() { | |
super.performDefaults(); | |
initializeDefaults(); | |
} | |
/** | |
* @see org.eclipse.jface.preference.PreferencePage#performOk() | |
*/ | |
@Override | |
public boolean performOk() { | |
storeValues(); | |
return true; | |
} | |
@Override | |
protected void performApply() { | |
performOk(); | |
} | |
/** | |
* Initializes states of the controls using default values in the preference store. | |
*/ | |
private void initializeDefaults() { | |
} | |
/** | |
* Initializes states of the controls from the preference store. | |
*/ | |
private void initializeValues() { | |
IPreferenceStore store = BPELUIPlugin.INSTANCE.getPreferenceStore(); | |
wsilURL.setText(store.getString(IBPELUIConstants.PREF_WSIL_URL)); | |
attemptLoad (wsilURL.getText() ); | |
} | |
/** | |
* Stores the values of the controls back to the preference store. | |
*/ | |
private void storeValues() { | |
IPreferenceStore store = BPELUIPlugin.INSTANCE.getPreferenceStore(); | |
store.setValue(IBPELUIConstants.PREF_WSIL_URL, wsilURL.getText()); | |
if (fWsilDocument != null) { | |
Resource resource = fWsilDocument.eResource(); | |
try { | |
resource.save(null); | |
} catch (IOException e) { | |
BPELUIPlugin.log(e); | |
} | |
} | |
} | |
void updateButtons ( ) { | |
List linkList = (fWsilDocument == null ? Collections.EMPTY_LIST : fWsilDocument.getInspection().getLinks()); | |
int idx = linkList.indexOf(fLinkSelection); | |
// -1 if not found ... | |
moveUpButton.setEnabled(idx > 0); | |
moveDownButton.setEnabled(idx >= 0 && idx < linkList.size() - 1); | |
removeButton.setEnabled( fLinkSelection != null ); | |
addButton.setEnabled(fWsilDocument!=null); | |
openInBrowserButton.setEnabled( fLinkSelection != null ); | |
} | |
/** | |
* @see org.eclipse.jface.dialogs.DialogPage#dispose() | |
*/ | |
@Override | |
public void dispose() { | |
Iterator it = resourceSet.getResources().iterator(); | |
while (it.hasNext()) { | |
Resource r = (Resource) it.next(); | |
r.eAdapters().clear(); | |
} | |
// TODO Auto-generated method stub | |
super.dispose(); | |
} | |
void attemptLoad ( String url ) { | |
url = url.trim(); | |
if (url.length() < 1) { | |
return ; | |
} | |
if(!url.endsWith(WSIL)){ | |
setMessage(Messages.BPELPreferencePage_WSIL_NameLimit, ERROR); | |
return; | |
} | |
if (fWsilDocument != null) { | |
fWsilDocument.eResource().eAdapters().remove( fContentAdapter ); | |
fWsilDocument = null; | |
} | |
org.eclipse.emf.common.util.URI uri = org.eclipse.emf.common.util.URI.createURI(url); | |
Resource resource = null; | |
try { | |
resource = resourceSet.getResource(uri, true, WSIL); | |
List contents = resource.getContents(); | |
if (contents.size() > 0) { | |
if (contents.get(0) instanceof WSILDocument ) { | |
fWsilDocument = (WSILDocument ) contents.get(0); | |
} | |
} | |
setMessage(null); | |
} catch (Throwable t) { | |
setMessage(Messages.BPELPreferencePage_WSIL_DocumentNotLoaded, ERROR); | |
BPELUIPlugin.log(t); | |
} | |
linkTableViewer.setInput( fWsilDocument ); | |
// Track the modification of any element in the WSIL model. | |
// we don't use commands and stacks here. | |
if (fWsilDocument != null) { | |
fWsilDocument.eResource().eAdapters().add( fContentAdapter ); | |
} | |
} | |
/** | |
* @author Michal Chmielewski (michal.chmielewski@oracle.com) | |
* @date May 4, 2007 | |
* | |
*/ | |
public class AbstractColumn extends ColumnTableProvider.Column implements | |
ILabelProvider, ICellModifier { | |
/** | |
* @see org.eclipse.bpel.ui.details.providers.ColumnTableProvider.Column#getHeaderText() | |
*/ | |
@Override | |
public String getHeaderText() { | |
return Messages.BPELPreferencePage_WSIL_Abstract; | |
} | |
/** | |
* @see org.eclipse.bpel.ui.details.providers.ColumnTableProvider.Column#getProperty() | |
*/ | |
@Override | |
public String getProperty() { | |
return "abstract"; //$NON-NLS-1$ | |
} | |
/** | |
* @see org.eclipse.bpel.ui.details.providers.ColumnTableProvider.Column#getInitialWeight() | |
*/ | |
@Override | |
public int getInitialWeight() { | |
return 50; | |
} | |
/** | |
* @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object) | |
*/ | |
public String getText (Object element) { | |
if (element instanceof Link) { | |
Link link = (Link) element; | |
List abs = link.getAbstract(); | |
// TODO: Do this based on language ? | |
if (abs.size() > 0) { | |
TypeOfAbstract absType = (TypeOfAbstract) abs.get(0); | |
return absType.getValue(); | |
} | |
} | |
return ""; | |
} | |
/** | |
* @see org.eclipse.bpel.ui.details.providers.ColumnTableProvider.Column#createCellEditor(org.eclipse.swt.widgets.Composite) | |
*/ | |
@Override | |
public CellEditor createCellEditor (Composite parent) { | |
return new TextCellEditor(parent, SWT.NO_BACKGROUND ); | |
} | |
/** | |
* @see org.eclipse.jface.viewers.ICellModifier#canModify(java.lang.Object, java.lang.String) | |
*/ | |
public boolean canModify(Object element, String property) { | |
return true; | |
} | |
/** | |
* @see org.eclipse.jface.viewers.ICellModifier#getValue(java.lang.Object, java.lang.String) | |
*/ | |
public Object getValue(Object element, String property) { | |
return getText(element); | |
} | |
/** | |
* @see org.eclipse.jface.viewers.ICellModifier#modify(java.lang.Object, java.lang.String, java.lang.Object) | |
*/ | |
public void modify(Object element, String property, Object value) { | |
if (element instanceof Link) { | |
Link link = (Link) element; | |
List abs = link.getAbstract(); | |
// TODO: Do this based on language ? | |
if (abs.size() > 0) { | |
TypeOfAbstract absType = (TypeOfAbstract) abs.get(0); | |
// noop, do not needlessly modify | |
if (value.equals(absType.getValue())) { | |
return ; | |
} | |
absType.setValue( (String) value); | |
} | |
} | |
} | |
} | |
/** | |
* @author Michal Chmielewski (michal.chmielewski@oracle.com) | |
* @date May 4, 2007 | |
* | |
*/ | |
public class LocationColumn extends ColumnTableProvider.Column | |
implements ILabelProvider, ICellModifier { | |
/** | |
* @see org.eclipse.bpel.ui.details.providers.ColumnTableProvider.Column#getHeaderText() | |
*/ | |
@Override | |
public String getHeaderText() { | |
return Messages.BPELPreferencePage_WSIL_Location; | |
} | |
/** | |
* @see org.eclipse.bpel.ui.details.providers.ColumnTableProvider.Column#getProperty() | |
*/ | |
@Override | |
public String getProperty() { | |
return "location"; //$NON-NLS-1$ | |
} | |
/** (non-Javadoc) | |
* @see org.eclipse.bpel.ui.details.providers.ColumnTableProvider.Column#getInitialWeight() | |
*/ | |
@Override | |
public int getInitialWeight() { | |
return 50; | |
} | |
/** | |
* @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object) | |
*/ | |
public String getText (Object element) { | |
if (element instanceof Link) { | |
Link link = (Link) element; | |
return link.getLocation(); | |
} | |
return ""; | |
} | |
/** | |
* @see org.eclipse.bpel.ui.details.providers.ColumnTableProvider.Column#createCellEditor(org.eclipse.swt.widgets.Composite) | |
*/ | |
@Override | |
public CellEditor createCellEditor (Composite parent) { | |
return new TextCellEditor(parent, SWT.NO_BACKGROUND ); | |
} | |
/** | |
* @see org.eclipse.jface.viewers.ICellModifier#canModify(java.lang.Object, java.lang.String) | |
*/ | |
public boolean canModify(Object element, String property) { | |
return true; | |
} | |
/** | |
* @see org.eclipse.jface.viewers.ICellModifier#getValue(java.lang.Object, java.lang.String) | |
*/ | |
public Object getValue(Object element, String property) { | |
return getText(element); | |
} | |
/** | |
* @see org.eclipse.jface.viewers.ICellModifier#modify(java.lang.Object, java.lang.String, java.lang.Object) | |
*/ | |
public void modify (Object element, String property, Object value) { | |
if (element instanceof Link) { | |
Link link = (Link) element; | |
//noop, do not needlessly modify | |
if (value.equals(link.getLocation())) { | |
return ; | |
} | |
org.eclipse.emf.common.util.URI linkURI = null; | |
try { | |
linkURI = org.eclipse.emf.common.util.URI.createURI( (String) value ); | |
if (linkURI.isRelative()) { | |
// path is relative to me ... | |
URI parentURI = link.eResource().getURI(); | |
linkURI = linkURI.resolve(parentURI); | |
} | |
// so far, so good ! | |
// VZ: so why not use linkURI? To be reviewed later! | |
link.setLocation( (String) value); | |
// all goes well | |
setMessage(null); | |
} catch (java.lang.IllegalArgumentException ex) { | |
setMessage(ex.getLocalizedMessage(), ERROR); | |
} | |
} | |
} | |
} | |
/** | |
* @author Michal Chmielewski (michal.chmielewski@oracle.com) | |
* @date May 4, 2007 | |
*/ | |
public class NamespaceColumn extends ColumnTableProvider.Column implements | |
ILabelProvider { | |
/** | |
* @see org.eclipse.bpel.ui.details.providers.ColumnTableProvider.Column#getHeaderText() | |
*/ | |
@Override | |
public String getHeaderText() { | |
return Messages.BPELPreferencePage_WSIL_Namespace; | |
} | |
/** | |
* @see org.eclipse.bpel.ui.details.providers.ColumnTableProvider.Column#getProperty() | |
*/ | |
@Override | |
public String getProperty() { | |
return "namespace"; //$NON-NLS-1$ | |
} | |
/** | |
* @see org.eclipse.bpel.ui.details.providers.ColumnTableProvider.Column#getInitialWeight() | |
*/ | |
@Override | |
public int getInitialWeight() { | |
return 30; | |
} | |
/** | |
* @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object) | |
*/ | |
public String getText (Object element) { | |
if (element instanceof Link) { | |
Link link = (Link) element; | |
return NamespaceUtils.convertUriToNamespace( link.getReferencedNamespace() ); | |
} | |
return ""; | |
} | |
} | |
/** | |
* @author Michal Chmielewski (michal.chmielewski@oracle.com) | |
* @date May 4, 2007 | |
*/ | |
public class IndexColumn extends ColumnTableProvider.Column implements | |
ILabelProvider { | |
/** | |
* @see org.eclipse.bpel.ui.details.providers.ColumnTableProvider.Column#getHeaderText() | |
*/ | |
@Override | |
public String getHeaderText() { | |
return Messages.BPELPreferencePage_WSIL_Index; | |
} | |
/** | |
* @see org.eclipse.bpel.ui.details.providers.ColumnTableProvider.Column#getProperty() | |
*/ | |
@Override | |
public String getProperty() { | |
return "index"; //$NON-NLS-1$ | |
} | |
/** | |
* @see org.eclipse.bpel.ui.details.providers.ColumnTableProvider.Column#getInitialWeight() | |
*/ | |
@Override | |
public int getInitialWeight() { | |
return 5; | |
} | |
/** | |
* @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object) | |
*/ | |
public String getText (Object element) { | |
if (element instanceof Link) { | |
Link link = (Link) element; | |
Inspection insp = (Inspection) link.eContainer(); | |
return Integer.toString( insp.getLinks().indexOf(link) + 1 ); | |
} | |
return ""; | |
} | |
} | |
} |