2008-03-19 15:54:25 +00:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
< html >
< head >
< META HTTP-EQUIV = "Content-Type" CONTENT = "text/html; charset=UTF-8" >
< META HTTP-EQUIV = "Content-Style-Type" CONTENT = "text/css" >
< meta name = "copyright" content = "Copyright (c) IBM Corporation and others 2002, 2006. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
< LINK REL = "STYLESHEET" HREF = "../../book.css" TYPE = "text/css" >
< title > DeveloperResourceAdapter Class After Editing< / title >
< / head >
< body >
< h1 > DeveloperResourceAdapter Class After Editing< / h1 >
< pre > < samp >
package samples.model;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.rse.ui.SystemMenuManager;
import org.eclipse.rse.ui.view.AbstractSystemViewAdapter;
import org.eclipse.rse.ui.view.ISystemRemoteElementAdapter;
import org.eclipse.swt.widgets.Shell;
< strong > import org.eclipse.ui.views.properties.IPropertyDescriptor;< / strong >
< strong > import org.eclipse.ui.views.properties.PropertyDescriptor;< / strong >
< strong > import samples.RSESamplesPlugin;< / strong >
/**
* This is the adapter which enables us to work with our remote developer resources.
*/
public class DeveloperResourceAdapter extends AbstractSystemViewAdapter
implements ISystemRemoteElementAdapter
{
/**
* Constructor
*/
public DeveloperResourceAdapter() {
super();
}
/* (non-Javadoc)
* @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#addActions(org.eclipse.rse.ui.SystemMenuManager,
* org.eclipse.jface.viewers.IStructuredSelection, org.eclipse.swt.widgets.Shell, java.lang.String)
*/
public void addActions(SystemMenuManager menu,
IStructuredSelection selection, Shell parent, String menuGroup)
{
}
/**
* @see org.eclipse.ui.model.IWorkbenchAdapter#getImageDescriptor(Object)
*/
public ImageDescriptor getImageDescriptor(Object object)
{
< strong > return RSESamplesPlugin.getDefault().getImageDescriptor("ICON_ID_DEVELOPER");< / strong >
}
/* (non-Javadoc)
* @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#getText(java.lang.Object)
*/
public String getText(Object element)
{
< strong > return ((DeveloperResource)element).getName();< / strong >
}
/* (non-Javadoc)
* @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#getAbsoluteName(java.lang.Object)
*/
public String getAbsoluteName(Object object)
{
< strong > DeveloperResource devr = (DeveloperResource)object;< / strong >
r< strong > eturn "Devr_" + devr.getId();< / strong >
}
/* (non-Javadoc)
* @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#getType(java.lang.Object)
*/
public String getType(Object element)
{
< strong > return RSESamplesPlugin.getResourceString("property.devr_resource.type");< / strong >
}
/**
* @see org.eclipse.ui.model.IWorkbenchAdapter#getParent(Object)
*/
public Object getParent(Object o)
{
return null; // not really used, which is good because it is ambiguous
}
/* (non-Javadoc)
* @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#hasChildren(java.lang.Object)
*/
public boolean hasChildren(Object element)
{
return false;
}
/**
* @see org.eclipse.ui.model.IWorkbenchAdapter#getChildren(Object)
*/
public Object[] getChildren(Object o)
{
return null;
}
/* (non-Javadoc)
* @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#internalGetPropertyDescriptors()
*/
protected IPropertyDescriptor[] internalGetPropertyDescriptors()
{
// the following array should be made static to it isn't created every time
< strong > PropertyDescriptor[] ourPDs = new PropertyDescriptor[2];< / strong >
< strong > ourPDs[0] = new PropertyDescriptor("devr_id", RSESamplesPlugin.getResourceString("property.devr_id.name"));< / strong >
< strong > ourPDs[0].setDescription(RSESamplesPlugin.getResourceString("property.devr_id.desc"));< / strong >
< strong > ourPDs[1] = new PropertyDescriptor("devr_dept", RSESamplesPlugin.getResourceString("property.devr_dept.name"));< / strong >
< strong > ourPDs[1].setDescription(RSESamplesPlugin.getResourceString("property.devr_dept.desc"));< / strong >
< strong > return ourPDs;< / strong >
}
/* (non-Javadoc)
* @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#internalGetPropertyValue(java.lang.Object)
*/
protected Object internalGetPropertyValue(Object key)
{
// propertySourceInput holds the currently selected object
< strong > DeveloperResource devr = (DeveloperResource)propertySourceInput;
if (key.equals("devr_id"))
return devr.getId();
else if (key.equals("devr_dept"))
return devr.getDeptNbr();
return null;< / strong >
}
// --------------------------------------
// ISystemRemoteElementAdapter methods...
// --------------------------------------
/* (non-Javadoc)
* @see org.eclipse.rse.ui.view.ISystemRemoteElementAdapter#getAbsoluteParentName(java.lang.Object)
*/
public String getAbsoluteParentName(Object element)
{
< strong > return "root";< / strong > // not really applicable as we have no unique hierarchy
}
/* (non-Javadoc)
* @see org.eclipse.rse.ui.view.ISystemRemoteElementAdapter#getSubSystemConfigurationId(java.lang.Object)
*/
public String getSubSystemConfigurationId(Object element)
{
< strong > return "samples.subsystems.factory";< / strong > // as declared in extension in plugin.xml
}
/* (non-Javadoc)
* @see org.eclipse.rse.ui.view.ISystemRemoteElementAdapter#getRemoteTypeCategory(java.lang.Object)
*/
public String getRemoteTypeCategory(Object element)
{
< strong > return "developers";< / strong > // Course grained. Same for all our remote resources.
}
/* (non-Javadoc)
* @see org.eclipse.rse.ui.view.ISystemRemoteElementAdapter#getRemoteType(java.lang.Object)
*/
public String getRemoteType(Object element)
{
< strong > return "developer";< / strong > // Fine grained. Unique to this resource type.
}
/* (non-Javadoc)
* @see org.eclipse.rse.ui.view.ISystemRemoteElementAdapter#getRemoteSubType(java.lang.Object)
*/
public String getRemoteSubType(Object element)
{
return null; // Very fine grained. We don't use it.
}
/* (non-Javadoc)
* @see org.eclipse.rse.ui.view.ISystemRemoteElementAdapter#refreshRemoteObject(java.lang.Object, java.lang.Object)
*/
public boolean refreshRemoteObject(Object oldElement, Object newElement)
{
< strong > DeveloperResource oldDevr= (DeveloperResource)oldElement;
DeveloperResource newDevr = (DeveloperResource)newElement;
newDevr.setName(oldDevr.getName());
return false;< / strong >
}
/* (non-Javadoc)
* @see org.eclipse.rse.ui.view.ISystemRemoteElementAdapter#getRemoteParent(org.eclipse.swt.widgets.Shell, java.lang.Object)
*/
public Object getRemoteParent(Shell shell, Object element) throws Exception
{
return null; // maybe this would be a Department obj, if we fully fleshed out our model
}
/* (non-Javadoc)
* @see org.eclipse.rse.ui.view.ISystemRemoteElementAdapter#getRemoteParentNamesInUse(org.eclipse.swt.widgets.Shell, java.lang.Object)
*/
public String[] getRemoteParentNamesInUse(Shell shell, Object element)
throws Exception
{
// developers names do not have to be unique! So we don't need to implement this!
return null;
}
}
< / samp > < / pre >
< / body >
< / html >