mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-09 10:05:24 +02:00
[181394][contributed] Fix incorrect elements shown below filters by fixing getAbsoluteName() of filter and pool references to include context
This commit is contained in:
parent
eedb7b4c9c
commit
f3435b0150
2 changed files with 33 additions and 13 deletions
|
@ -1,5 +1,5 @@
|
||||||
/********************************************************************************
|
/********************************************************************************
|
||||||
* Copyright (c) 2002, 2006 IBM Corporation. All rights reserved.
|
* Copyright (c) 2002, 2007 IBM Corporation and others. All rights reserved.
|
||||||
* This program and the accompanying materials are made available under the terms
|
* 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
|
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
|
||||||
* available at http://www.eclipse.org/legal/epl-v10.html
|
* available at http://www.eclipse.org/legal/epl-v10.html
|
||||||
|
@ -11,7 +11,7 @@
|
||||||
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
||||||
*
|
*
|
||||||
* Contributors:
|
* Contributors:
|
||||||
* {Name} (company) - description of contribution.
|
* Tobias Schwarz (Wind River) - [181394] Include Context in getAbsoluteName() for filter and pool references
|
||||||
********************************************************************************/
|
********************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.rse.internal.ui.view;
|
package org.eclipse.rse.internal.ui.view;
|
||||||
|
@ -22,9 +22,11 @@ import org.eclipse.core.runtime.IProgressMonitor;
|
||||||
import org.eclipse.jface.action.IAction;
|
import org.eclipse.jface.action.IAction;
|
||||||
import org.eclipse.jface.resource.ImageDescriptor;
|
import org.eclipse.jface.resource.ImageDescriptor;
|
||||||
import org.eclipse.jface.viewers.IStructuredSelection;
|
import org.eclipse.jface.viewers.IStructuredSelection;
|
||||||
|
import org.eclipse.rse.core.SystemAdapterHelpers;
|
||||||
import org.eclipse.rse.core.filters.ISystemFilterPool;
|
import org.eclipse.rse.core.filters.ISystemFilterPool;
|
||||||
import org.eclipse.rse.core.filters.ISystemFilterPoolManager;
|
import org.eclipse.rse.core.filters.ISystemFilterPoolManager;
|
||||||
import org.eclipse.rse.core.filters.ISystemFilterPoolReference;
|
import org.eclipse.rse.core.filters.ISystemFilterPoolReference;
|
||||||
|
import org.eclipse.rse.core.filters.ISystemFilterPoolReferenceManagerProvider;
|
||||||
import org.eclipse.rse.core.subsystems.ISubSystem;
|
import org.eclipse.rse.core.subsystems.ISubSystem;
|
||||||
import org.eclipse.rse.core.subsystems.ISubSystemConfiguration;
|
import org.eclipse.rse.core.subsystems.ISubSystemConfiguration;
|
||||||
import org.eclipse.rse.core.subsystems.SubSystemHelpers;
|
import org.eclipse.rse.core.subsystems.SubSystemHelpers;
|
||||||
|
@ -37,6 +39,7 @@ import org.eclipse.rse.ui.validators.ValidatorFilterPoolName;
|
||||||
import org.eclipse.rse.ui.view.AbstractSystemViewAdapter;
|
import org.eclipse.rse.ui.view.AbstractSystemViewAdapter;
|
||||||
import org.eclipse.rse.ui.view.ISystemMementoConstants;
|
import org.eclipse.rse.ui.view.ISystemMementoConstants;
|
||||||
import org.eclipse.rse.ui.view.ISystemPropertyConstants;
|
import org.eclipse.rse.ui.view.ISystemPropertyConstants;
|
||||||
|
import org.eclipse.rse.ui.view.ISystemViewElementAdapter;
|
||||||
import org.eclipse.swt.widgets.Shell;
|
import org.eclipse.swt.widgets.Shell;
|
||||||
import org.eclipse.ui.views.properties.IPropertyDescriptor;
|
import org.eclipse.ui.views.properties.IPropertyDescriptor;
|
||||||
import org.eclipse.ui.views.properties.PropertyDescriptor;
|
import org.eclipse.ui.views.properties.PropertyDescriptor;
|
||||||
|
@ -113,7 +116,6 @@ public class SystemViewFilterPoolReferenceAdapter
|
||||||
return ((ISubSystem)getFilterPoolReference(element).getProvider());
|
return ((ISubSystem)getFilterPoolReference(element).getProvider());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns an image descriptor for the image. More efficient than getting the image.
|
* Returns an image descriptor for the image. More efficient than getting the image.
|
||||||
* @param element The element for which an image is desired
|
* @param element The element for which an image is desired
|
||||||
|
@ -142,7 +144,6 @@ public class SystemViewFilterPoolReferenceAdapter
|
||||||
return getFilterPoolReference(element).getReferencedFilterPool(); // get master object
|
return getFilterPoolReference(element).getReferencedFilterPool(); // get master object
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param element the filter pool reference masquerading as an object
|
* @param element the filter pool reference masquerading as an object
|
||||||
* @return the label for this filter pool reference.
|
* @return the label for this filter pool reference.
|
||||||
|
@ -161,6 +162,7 @@ public class SystemViewFilterPoolReferenceAdapter
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return the name of this object, which may be different than the display text ({#link #getText(Object)}.
|
* Return the name of this object, which may be different than the display text ({#link #getText(Object)}.
|
||||||
* <p>
|
* <p>
|
||||||
|
@ -170,14 +172,22 @@ public class SystemViewFilterPoolReferenceAdapter
|
||||||
{
|
{
|
||||||
return getFilterPool(element).getName();
|
return getFilterPool(element).getName();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return the absolute name, versus just display name, of this object
|
* Return the absolute name, versus just display name, of this object
|
||||||
*/
|
*/
|
||||||
public String getAbsoluteName(Object element)
|
public String getAbsoluteName(Object element)
|
||||||
{
|
{
|
||||||
ISystemFilterPoolReference filterPoolRef = (ISystemFilterPoolReference)element;
|
//TODO consider caching the absolute name in the FilterPoolReference to avoid unnecessary String operations - the name won't ever change
|
||||||
return filterPoolRef.getReferencedFilterPool().getSystemFilterPoolManager().getName() + "." + filterPoolRef.getName(); //$NON-NLS-1$
|
ISystemFilterPoolReference filterPoolRef = getFilterPoolReference(element);
|
||||||
|
ISystemFilterPoolReferenceManagerProvider subSystem = filterPoolRef.getProvider();
|
||||||
|
ISystemViewElementAdapter adapter = SystemAdapterHelpers.getViewAdapter(subSystem);
|
||||||
|
String parentAbsoluteName = (adapter != null) ? adapter.getAbsoluteName(subSystem) : ""; //$NON-NLS-1$
|
||||||
|
return parentAbsoluteName + "." + //$NON-NLS-1$
|
||||||
|
filterPoolRef.getReferencedFilterPool().getSystemFilterPoolManager().getName() + "." + //$NON-NLS-1$
|
||||||
|
filterPoolRef.getName();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return the type label for this object
|
* Return the type label for this object
|
||||||
*/
|
*/
|
||||||
|
@ -367,7 +377,7 @@ public class SystemViewFilterPoolReferenceAdapter
|
||||||
public String getInputMementoHandle(Object element)
|
public String getInputMementoHandle(Object element)
|
||||||
{
|
{
|
||||||
Object parent = getParent(element);
|
Object parent = getParent(element);
|
||||||
return getSystemViewElementAdapter(parent).getInputMementoHandle(parent) + MEMENTO_DELIM + getMementoHandle(element);
|
return SystemAdapterHelpers.getViewAdapter(parent, getViewer()).getInputMementoHandle(parent) + MEMENTO_DELIM + getMementoHandle(element);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Return a short string to uniquely identify the type of resource. Eg "conn" for connection.
|
* Return a short string to uniquely identify the type of resource. Eg "conn" for connection.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/********************************************************************************
|
/********************************************************************************
|
||||||
* Copyright (c) 2002, 2007 IBM Corporation. All rights reserved.
|
* Copyright (c) 2002, 2007 IBM Corporation and others. All rights reserved.
|
||||||
* This program and the accompanying materials are made available under the terms
|
* 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
|
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
|
||||||
* available at http://www.eclipse.org/legal/epl-v10.html
|
* available at http://www.eclipse.org/legal/epl-v10.html
|
||||||
|
@ -12,6 +12,7 @@
|
||||||
*
|
*
|
||||||
* Contributors:
|
* Contributors:
|
||||||
* David Dykstal (IBM) - moved SystemsPreferencesManager to a new package
|
* David Dykstal (IBM) - moved SystemsPreferencesManager to a new package
|
||||||
|
* Tobias Schwarz (Wind River) - [181394] Include Context in getAbsoluteName() for filter and pool references
|
||||||
********************************************************************************/
|
********************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.rse.internal.ui.view;
|
package org.eclipse.rse.internal.ui.view;
|
||||||
|
@ -27,6 +28,7 @@ import org.eclipse.jface.action.IAction;
|
||||||
import org.eclipse.jface.resource.ImageDescriptor;
|
import org.eclipse.jface.resource.ImageDescriptor;
|
||||||
import org.eclipse.jface.viewers.IStructuredSelection;
|
import org.eclipse.jface.viewers.IStructuredSelection;
|
||||||
import org.eclipse.jface.viewers.Viewer;
|
import org.eclipse.jface.viewers.Viewer;
|
||||||
|
import org.eclipse.rse.core.SystemAdapterHelpers;
|
||||||
import org.eclipse.rse.core.SystemBasePlugin;
|
import org.eclipse.rse.core.SystemBasePlugin;
|
||||||
import org.eclipse.rse.core.filters.ISystemFilter;
|
import org.eclipse.rse.core.filters.ISystemFilter;
|
||||||
import org.eclipse.rse.core.filters.ISystemFilterContainerReference;
|
import org.eclipse.rse.core.filters.ISystemFilterContainerReference;
|
||||||
|
@ -126,6 +128,7 @@ public class SystemViewFilterReferenceAdapter
|
||||||
{
|
{
|
||||||
return SubSystemHelpers.getParentSubSystemConfiguration(filter);
|
return SubSystemHelpers.getParentSubSystemConfiguration(filter);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <i>Overridden from parent.</i><br>
|
* <i>Overridden from parent.</i><br>
|
||||||
* Returns the subsystem that contains this object.
|
* Returns the subsystem that contains this object.
|
||||||
|
@ -137,6 +140,7 @@ public class SystemViewFilterReferenceAdapter
|
||||||
else
|
else
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns an image descriptor for the image. More efficient than getting the image.
|
* Returns an image descriptor for the image. More efficient than getting the image.
|
||||||
* @param element The element for which an image is desired
|
* @param element The element for which an image is desired
|
||||||
|
@ -161,6 +165,7 @@ public class SystemViewFilterReferenceAdapter
|
||||||
{
|
{
|
||||||
return (ISystemFilterReference) element; // get referenced object
|
return (ISystemFilterReference) element; // get referenced object
|
||||||
}
|
}
|
||||||
|
|
||||||
private ISystemFilter getFilter(Object element)
|
private ISystemFilter getFilter(Object element)
|
||||||
{
|
{
|
||||||
return getFilterReference(element).getReferencedFilter(); // get master object
|
return getFilterReference(element).getReferencedFilter(); // get master object
|
||||||
|
@ -173,6 +178,7 @@ public class SystemViewFilterReferenceAdapter
|
||||||
{
|
{
|
||||||
return getFilter(element).getName();
|
return getFilter(element).getName();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return the name of this object, which may be different than the display text ({#link #getText(Object)}.
|
* Return the name of this object, which may be different than the display text ({#link #getText(Object)}.
|
||||||
* <p>
|
* <p>
|
||||||
|
@ -182,13 +188,17 @@ public class SystemViewFilterReferenceAdapter
|
||||||
{
|
{
|
||||||
return getFilter(element).getName();
|
return getFilter(element).getName();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return the absolute name, versus just display name, of this object
|
* Return the absolute name, versus just display name, of this object
|
||||||
*/
|
*/
|
||||||
public String getAbsoluteName(Object element)
|
public String getAbsoluteName(Object element)
|
||||||
{
|
{
|
||||||
ISystemFilter filter = getFilter(element);
|
//TODO consider caching the absolute name in the FilterReference to avoid unnecessary String operations - the name won't ever change
|
||||||
return filter.getSystemFilterPoolManager().getName() + "." + filter.getParentFilterPool().getName() + "." + filter.getName(); //$NON-NLS-1$ //$NON-NLS-2$
|
ISystemFilterPoolReference filterPoolReference = getFilterReference(element).getParentSystemFilterReferencePool();
|
||||||
|
ISystemViewElementAdapter adapter = SystemAdapterHelpers.getViewAdapter(filterPoolReference);
|
||||||
|
String parentAbsoluteName = (adapter != null) ? adapter.getAbsoluteName(filterPoolReference) : ""; //$NON-NLS-1$
|
||||||
|
return parentAbsoluteName + "." + getName(element); //$NON-NLS-1$
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -757,14 +767,14 @@ public class SystemViewFilterReferenceAdapter
|
||||||
public String getInputMementoHandle(Object element)
|
public String getInputMementoHandle(Object element)
|
||||||
{
|
{
|
||||||
Object parent = ((ISystemFilterReference) element).getParent(); //getParent(element); // will be filter (nested) or filter pool
|
Object parent = ((ISystemFilterReference) element).getParent(); //getParent(element); // will be filter (nested) or filter pool
|
||||||
ISystemViewElementAdapter parentAdapter = getSystemViewElementAdapter(parent);
|
ISystemViewElementAdapter parentAdapter = SystemAdapterHelpers.getViewAdapter(parent, getViewer());
|
||||||
boolean showFPs = SystemPreferencesManager.getShowFilterPools();
|
boolean showFPs = SystemPreferencesManager.getShowFilterPools();
|
||||||
if (parent instanceof ISystemFilterPoolReference) // not a nested filter
|
if (parent instanceof ISystemFilterPoolReference) // not a nested filter
|
||||||
{
|
{
|
||||||
if (!showFPs) // not showing the real parent in GUI?
|
if (!showFPs) // not showing the real parent in GUI?
|
||||||
{
|
{
|
||||||
parent = parentAdapter.getParent(parent); // get the subsystem parent of the filter pool reference
|
parent = parentAdapter.getParent(parent); // get the subsystem parent of the filter pool reference
|
||||||
parentAdapter = getSystemViewElementAdapter(parent); // get the adapter for the subsystem parent
|
parentAdapter = SystemAdapterHelpers.getViewAdapter(parent, getViewer()); // get the adapter for the subsystem parent
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return parentAdapter.getInputMementoHandle(parent) + MEMENTO_DELIM + getMementoHandle(element);
|
return parentAdapter.getInputMementoHandle(parent) + MEMENTO_DELIM + getMementoHandle(element);
|
||||||
|
|
Loading…
Add table
Reference in a new issue