Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 89579 Details for
Bug 217738
[registry view] show OSGi service information
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
org.eclipse.pde.runtime.patch
clipboard.txt (text/plain), 22.47 KB, created by
Chris Aniszczyk
on 2008-02-12 19:59:46 EST
(
hide
)
Description:
org.eclipse.pde.runtime.patch
Filename:
MIME Type:
Creator:
Chris Aniszczyk
Created:
2008-02-12 19:59:46 EST
Size:
22.47 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.pde.runtime >Index: src/org/eclipse/pde/internal/runtime/PDERuntimePluginImages.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/PDERuntimePluginImages.java,v >retrieving revision 1.39 >diff -u -r1.39 PDERuntimePluginImages.java >--- src/org/eclipse/pde/internal/runtime/PDERuntimePluginImages.java 2 Jan 2008 16:06:15 -0000 1.39 >+++ src/org/eclipse/pde/internal/runtime/PDERuntimePluginImages.java 13 Feb 2008 00:58:32 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2000, 2007 IBM Corporation and others. >+ * Copyright (c) 2000, 2008 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 >@@ -11,7 +11,6 @@ > package org.eclipse.pde.internal.runtime; > > import java.net.URL; >- > import org.eclipse.core.runtime.FileLocator; > import org.eclipse.core.runtime.Path; > import org.eclipse.jface.resource.ImageDescriptor; >@@ -73,6 +72,9 @@ > public static final ImageDescriptor DESC_RUNTIME_OBJ = create(PATH_OBJ, "runtime_obj.gif"); //$NON-NLS-1$ > public static final ImageDescriptor DESC_WARNING_ST_OBJ = create(PATH_OBJ, "warning_st_obj.gif"); //$NON-NLS-1$ > public static final ImageDescriptor DESC_LOCATION = create(PATH_OBJ, "location_obj.gif"); //$NON-NLS-1$ >+ public static final ImageDescriptor DESC_IMP_OBJ = create(PATH_OBJ, "bundle-importer.gif"); //$NON-NLS-1$ >+ public static final ImageDescriptor DESC_EXP_OBJ = create(PATH_OBJ, "bundle-exporter.gif"); //$NON-NLS-1$ >+ public static final ImageDescriptor DESC_IMP_EXP_OBJ = create(PATH_OBJ, "bundle-importer-exporter.gif"); //$NON-NLS-1$ > > /* > * Overlays >Index: src/org/eclipse/pde/internal/runtime/pderuntimeresources.properties >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/pderuntimeresources.properties,v >retrieving revision 1.70 >diff -u -r1.70 pderuntimeresources.properties >--- src/org/eclipse/pde/internal/runtime/pderuntimeresources.properties 1 Dec 2007 09:38:18 -0000 1.70 >+++ src/org/eclipse/pde/internal/runtime/pderuntimeresources.properties 13 Feb 2008 00:58:32 -0000 >@@ -1,5 +1,5 @@ > ############################################################################### >-# Copyright (c) 2000, 2007 IBM Corporation and others. >+# Copyright (c) 2000, 2008 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 >@@ -28,6 +28,8 @@ > RegistryBrowser_plugins=plug-ins > RegistryBrowserLabelProvider_contributedBy=contributed by: {0} > RegistryBrowserLabelProvider_nameIdBind={0} [{1}] >+RegistryBrowserLabelProvider_usedServices=Used Services >+RegistryBrowserLabelProvider_registeredServices=Registered Services > RegistryView_titleSummary = Filter matched {0} of {1} {2}. > RegistryView_startAction_label = Start > RegistryView_stopAction_label = Stop >Index: src/org/eclipse/pde/internal/runtime/PDERuntimeMessages.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/PDERuntimeMessages.java,v >retrieving revision 1.22 >diff -u -r1.22 PDERuntimeMessages.java >--- src/org/eclipse/pde/internal/runtime/PDERuntimeMessages.java 2 Jan 2008 16:06:15 -0000 1.22 >+++ src/org/eclipse/pde/internal/runtime/PDERuntimeMessages.java 13 Feb 2008 00:58:32 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2005, 2007 IBM Corporation and others. >+ * Copyright (c) 2005, 2008 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 >@@ -71,6 +71,8 @@ > public static String RegistryBrowser_showExtOnlyLabel; > public static String RegistryBrowser_plugins; > public static String RegistryBrowserLabelProvider_contributedBy; >+ public static String RegistryBrowserLabelProvider_usedServices; >+ public static String RegistryBrowserLabelProvider_registeredServices; > > static { > // load message values from bundle file >Index: src/org/eclipse/pde/internal/runtime/registry/RegistryBrowserContentProvider.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/RegistryBrowserContentProvider.java,v >retrieving revision 1.28 >diff -u -r1.28 RegistryBrowserContentProvider.java >--- src/org/eclipse/pde/internal/runtime/registry/RegistryBrowserContentProvider.java 17 Jan 2008 15:44:29 -0000 1.28 >+++ src/org/eclipse/pde/internal/runtime/registry/RegistryBrowserContentProvider.java 13 Feb 2008 00:58:33 -0000 >@@ -10,12 +10,12 @@ > *******************************************************************************/ > package org.eclipse.pde.internal.runtime.registry; > >-import java.util.ArrayList; >-import java.util.Hashtable; >+import java.util.*; > import org.eclipse.core.runtime.*; > import org.eclipse.jface.viewers.ITreeContentProvider; > import org.eclipse.jface.viewers.Viewer; > import org.eclipse.osgi.util.ManifestElement; >+import org.eclipse.pde.internal.runtime.PDERuntimePlugin; > import org.osgi.framework.*; > > public class RegistryBrowserContentProvider implements ITreeContentProvider { >@@ -44,6 +44,30 @@ > return children; > } > >+ public void add(Object child) { >+ if (children == null) { >+ getChildren(); >+ } >+ >+ Object[] newChildren = new Object[children.length + 1]; >+ System.arraycopy(children, 0, newChildren, 0, children.length); >+ newChildren[newChildren.length - 1] = child; >+ >+ children = newChildren; >+ } >+ >+ public void remove(Object child) { >+ if (children == null) { >+ getChildren(); >+ } >+ >+ List newChildren = new ArrayList(Arrays.asList(children)); >+ if (newChildren.contains(child)) { >+ newChildren.remove(child); >+ children = newChildren.toArray(); >+ } >+ } >+ > public int getFolderId() { > return id; > } >@@ -101,12 +125,14 @@ > } > > protected Object[] createPluginFolders(Bundle bundle) { >- Object[] array = new Object[5]; >+ Object[] array = new Object[7]; > array[0] = new BundleFolder(bundle, IBundleFolder.F_LOCATION); > array[1] = new BundleFolder(bundle, IBundleFolder.F_IMPORTS); > array[2] = new BundleFolder(bundle, IBundleFolder.F_LIBRARIES); > array[3] = new BundleFolder(bundle, IBundleFolder.F_EXTENSION_POINTS); > array[4] = new BundleFolder(bundle, IBundleFolder.F_EXTENSIONS); >+ array[5] = new BundleFolder(bundle, IBundleFolder.F_REGISTERED_SERVICES); >+ array[6] = new BundleFolder(bundle, IBundleFolder.F_SERVICES_IN_USE); > return array; > } > >@@ -201,6 +227,10 @@ > case IBundleFolder.F_LIBRARIES : > array = getManifestHeaderArray(bundle, Constants.BUNDLE_CLASSPATH); > break; >+ case IBundleFolder.F_REGISTERED_SERVICES : >+ return getServices(bundle, IBundleFolder.F_REGISTERED_SERVICES); >+ case IBundleFolder.F_SERVICES_IN_USE : >+ return getServices(bundle, IBundleFolder.F_SERVICES_IN_USE); > } > Object[] result = null; > if (array != null && array.length > 0) { >@@ -212,6 +242,42 @@ > return result; > } > >+ protected static Object[] getServices(Bundle bundle, int type) { >+ Set result = new HashSet(); >+ >+ try { >+ ServiceReference[] references = PDERuntimePlugin.getDefault().getBundleContext().getAllServiceReferences(null, null); >+ >+ for (int i = 0; i < references.length; i++) { >+ int mask = 0; >+ boolean add = false; >+ ServiceReference ref = references[i]; >+ >+ if (bundle.equals(ref.getBundle())) { >+ mask |= ServiceReferenceAdapter.REGISTERED; >+ add |= (type == IBundleFolder.F_REGISTERED_SERVICES); >+ } >+ >+ Bundle[] usingBundles = ref.getUsingBundles(); >+ if (usingBundles != null && Arrays.asList(usingBundles).contains(bundle)) { >+ mask |= ServiceReferenceAdapter.SERVICE_IN_USE; >+ add |= (type == IBundleFolder.F_SERVICES_IN_USE); >+ } >+ >+ if (add) { >+ result.add(new ServiceReferenceAdapter(ref, mask)); >+ } >+ } >+ >+ } catch (InvalidSyntaxException e) { // nothing >+ } >+ >+ if (result.size() == 0) >+ return null; >+ >+ return result.toArray(new ServiceReferenceAdapter[result.size()]); >+ } >+ > public Object getParent(Object element) { > return null; > } >Index: src/org/eclipse/pde/internal/runtime/registry/RegistryBrowserListener.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/RegistryBrowserListener.java,v >retrieving revision 1.2 >diff -u -r1.2 RegistryBrowserListener.java >--- src/org/eclipse/pde/internal/runtime/registry/RegistryBrowserListener.java 2 Jan 2008 16:06:15 -0000 1.2 >+++ src/org/eclipse/pde/internal/runtime/registry/RegistryBrowserListener.java 13 Feb 2008 00:58:34 -0000 >@@ -11,11 +11,13 @@ > package org.eclipse.pde.internal.runtime.registry; > > import org.eclipse.core.runtime.*; >+import org.eclipse.jface.viewers.ITreeContentProvider; >+import org.eclipse.pde.internal.runtime.registry.RegistryBrowserContentProvider.BundleFolder; > import org.eclipse.swt.widgets.Tree; > import org.eclipse.swt.widgets.TreeItem; > import org.osgi.framework.*; > >-public class RegistryBrowserListener implements IRegistryChangeListener, BundleListener { >+public class RegistryBrowserListener implements IRegistryChangeListener, BundleListener, ServiceListener { > > protected RegistryBrowser fBrowser; > protected boolean fExtOnly; >@@ -198,6 +200,8 @@ > return ((IExtensionPoint) object).getNamespaceIdentifier(); > if (object instanceof IExtension) > return ((IExtension) object).getContributor().getName(); >+ if (object instanceof ServiceReference) >+ return ((ServiceReference) object).getBundle().getSymbolicName(); > return null; > } > >@@ -208,6 +212,14 @@ > return folder.getFolderId() == IBundleFolder.F_EXTENSION_POINTS; > if (child instanceof IExtension) > return folder.getFolderId() == IBundleFolder.F_EXTENSIONS; >+ if (child instanceof ServiceReferenceAdapter) { >+ ServiceReferenceAdapter refAdapter = (ServiceReferenceAdapter) child; >+ if ((refAdapter.getType() & ServiceReferenceAdapter.REGISTERED) > 0) >+ return folder.getFolderId() == IBundleFolder.F_REGISTERED_SERVICES; >+ >+ if ((refAdapter.getType() & ServiceReferenceAdapter.SERVICE_IN_USE) > 0) >+ return folder.getFolderId() == IBundleFolder.F_SERVICES_IN_USE; >+ } > return false; > } > >@@ -327,4 +339,38 @@ > break; > } > } >+ >+ public void serviceChanged(ServiceEvent event) { >+ ServiceReference ref = event.getServiceReference(); >+ >+ switch (event.getType()) { >+ case ServiceEvent.REGISTERED : >+ case ServiceEvent.UNREGISTERING : >+ ServiceReferenceAdapter refAdapter = new ServiceReferenceAdapter(ref, ServiceReferenceAdapter.REGISTERED); >+ Bundle bundle = ref.getBundle(); >+ TreeItem bundleItem = findBundleItem(bundle.getSymbolicName()); >+ PluginObjectAdapter bundleAdapter = ((PluginObjectAdapter) bundleItem.getData()); >+ ITreeContentProvider contentProvider = (ITreeContentProvider) fBrowser.getAdapter(ITreeContentProvider.class); >+ Object[] folders = contentProvider.getChildren(bundleAdapter); >+ >+ for (int j = 0; j < folders.length; j++) { >+ if (folders[j] instanceof IBundleFolder) { >+ IBundleFolder folder = (IBundleFolder) folders[j]; >+ if (correctFolder(folder, refAdapter)) { >+ if (event.getType() == ServiceEvent.REGISTERED) { >+ ((BundleFolder) folder).add(refAdapter); >+ } else if (event.getType() == ServiceEvent.UNREGISTERING) { >+ ((BundleFolder) folder).remove(refAdapter); >+ } >+ fBrowser.refresh(folder); >+ } >+ } >+ } >+ >+ break; >+ case ServiceEvent.MODIFIED : >+ break; >+ } >+ >+ } > } >Index: src/org/eclipse/pde/internal/runtime/registry/RegistryBrowserLabelProvider.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/RegistryBrowserLabelProvider.java,v >retrieving revision 1.32 >diff -u -r1.32 RegistryBrowserLabelProvider.java >--- src/org/eclipse/pde/internal/runtime/registry/RegistryBrowserLabelProvider.java 2 Jan 2008 16:06:15 -0000 1.32 >+++ src/org/eclipse/pde/internal/runtime/registry/RegistryBrowserLabelProvider.java 13 Feb 2008 00:58:33 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2000, 2007 IBM Corporation and others. >+ * Copyright (c) 2000, 2008 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 >@@ -12,6 +12,7 @@ > > import java.io.IOException; > import java.net.URL; >+import java.util.Arrays; > import org.eclipse.core.runtime.*; > import org.eclipse.jface.resource.ImageDescriptor; > import org.eclipse.jface.viewers.LabelProvider; >@@ -21,6 +22,7 @@ > import org.eclipse.pde.internal.runtime.*; > import org.eclipse.swt.graphics.Image; > import org.osgi.framework.Bundle; >+import org.osgi.framework.ServiceReference; > > public class RegistryBrowserLabelProvider extends LabelProvider { > >@@ -40,6 +42,9 @@ > private Image fReqPluginImage; > private Image fLocationImage; > private Image fDisabledImage; >+ private Image fExporterImage; >+ private Image fImporterImage; >+ private Image fImporterExporterImage; > private TreeViewer fViewer; > > public RegistryBrowserLabelProvider(TreeViewer viewer) { >@@ -56,6 +61,9 @@ > fGenericAttrImage = PDERuntimePluginImages.DESC_ATTR_XML_OBJ.createImage(); > fRuntimeImage = PDERuntimePluginImages.DESC_RUNTIME_OBJ.createImage(); > fLocationImage = PDERuntimePluginImages.DESC_LOCATION.createImage(); >+ fExporterImage = PDERuntimePluginImages.DESC_EXP_OBJ.createImage(); >+ fImporterImage = PDERuntimePluginImages.DESC_IMP_OBJ.createImage(); >+ fImporterExporterImage = PDERuntimePluginImages.DESC_IMP_EXP_OBJ.createImage(); > > ImageDescriptor activePluginDesc = new OverlayIcon(PDERuntimePluginImages.DESC_PLUGIN_OBJ, new ImageDescriptor[][] {{PDERuntimePluginImages.DESC_RUN_CO}}); > fActivePluginImage = activePluginDesc.createImage(); >@@ -88,10 +96,14 @@ > fRuntimeImage.dispose(); > fLocationImage.dispose(); > fDisabledImage.dispose(); >+ fImporterImage.dispose(); >+ fExporterImage.dispose(); >+ fImporterExporterImage.dispose(); > } > >- public Image getImage(Object element) { >- if (element instanceof PluginObjectAdapter) >+ public Image getImage(Object object) { >+ Object element = object; >+ if (object instanceof PluginObjectAdapter) > element = ((PluginObjectAdapter) element).getObject(); > > if (element instanceof Bundle) { >@@ -117,6 +129,18 @@ > return fPluginImage; > } > } >+ >+ if (element instanceof ServiceReference) { >+ switch (((ServiceReferenceAdapter) object).getType()) { >+ case ServiceReferenceAdapter.REGISTERED : >+ return fExporterImage; >+ case ServiceReferenceAdapter.SERVICE_IN_USE : >+ return fImporterImage; >+ case ServiceReferenceAdapter.REGISTERED | ServiceReferenceAdapter.SERVICE_IN_USE : >+ return fImporterExporterImage; >+ } >+ } >+ > if (element instanceof IBundleFolder) { > int id = ((IBundleFolder) element).getFolderId(); > switch (id) { >@@ -130,6 +154,10 @@ > return fRuntimeImage; > case IBundleFolder.F_LOCATION : > return fLocationImage; >+ case IBundleFolder.F_REGISTERED_SERVICES : >+ return fExporterImage; >+ case IBundleFolder.F_SERVICES_IN_USE : >+ return fImporterImage; > } > return null; > } >@@ -164,6 +192,13 @@ > return id; > return id + " (" + version + ")"; //$NON-NLS-1$ //$NON-NLS-2$ > } >+ if (element instanceof ServiceReference) { >+ ServiceReference ref = (ServiceReference) element; >+ String[] classes = (String[]) ref.getProperty("objectClass"); //$NON-NLS-1$ >+ Long id = (Long) ref.getProperty("service.id"); //$NON-NLS-1$ >+ String identifier = " (id=" + id.toString() + ")"; //$NON-NLS-1$ //$NON-NLS-2$ >+ return Arrays.asList(classes).toString().concat(identifier); >+ } > if (element instanceof IBundleFolder) { > switch (((IBundleFolder) element).getFolderId()) { > case IBundleFolder.F_IMPORTS : >@@ -174,6 +209,10 @@ > return PDERuntimeMessages.RegistryView_folders_extensionPoints; > case IBundleFolder.F_EXTENSIONS : > return PDERuntimeMessages.RegistryView_folders_extensions; >+ case IBundleFolder.F_REGISTERED_SERVICES : >+ return PDERuntimeMessages.RegistryBrowserLabelProvider_registeredServices; >+ case IBundleFolder.F_SERVICES_IN_USE : >+ return PDERuntimeMessages.RegistryBrowserLabelProvider_usedServices; > case IBundleFolder.F_LOCATION : > Bundle bundle = ((IBundleFolder) element).getBundle(); > URL bundleEntry = bundle.getEntry("/"); //$NON-NLS-1$ >Index: src/org/eclipse/pde/internal/runtime/registry/IBundleFolder.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/IBundleFolder.java,v >retrieving revision 1.3 >diff -u -r1.3 IBundleFolder.java >--- src/org/eclipse/pde/internal/runtime/registry/IBundleFolder.java 2 Jan 2008 16:06:15 -0000 1.3 >+++ src/org/eclipse/pde/internal/runtime/registry/IBundleFolder.java 13 Feb 2008 00:58:32 -0000 >@@ -19,9 +19,15 @@ > public static final int F_EXTENSION_POINTS = 2; > public static final int F_IMPORTS = 3; > public static final int F_LIBRARIES = 4; >+ public static final int F_REGISTERED_SERVICES = 5; >+ public static final int F_SERVICES_IN_USE = 6; > > public Object[] getChildren(); > >+ public void add(Object object); >+ >+ public void remove(Object object); >+ > int getFolderId(); > > public Bundle getBundle(); >Index: src/org/eclipse/pde/internal/runtime/registry/RegistryBrowser.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/RegistryBrowser.java,v >retrieving revision 1.59 >diff -u -r1.59 RegistryBrowser.java >--- src/org/eclipse/pde/internal/runtime/registry/RegistryBrowser.java 19 Jan 2008 19:09:52 -0000 1.59 >+++ src/org/eclipse/pde/internal/runtime/registry/RegistryBrowser.java 13 Feb 2008 00:58:33 -0000 >@@ -46,6 +46,7 @@ > private TreeViewer fTreeViewer; > private IMemento fMemento; > private int fTotalItems = 0; >+ private RegistryBrowserContentProvider contentProvider; > > // menus and action items > private Action fRefreshAction; >@@ -157,6 +158,7 @@ > if (fListener != null) { > Platform.getExtensionRegistry().removeRegistryChangeListener(fListener); > PDERuntimePlugin.getDefault().getBundleContext().removeBundleListener(fListener); >+ PDERuntimePlugin.getDefault().getBundleContext().removeServiceListener(fListener); > } > super.dispose(); > } >@@ -174,6 +176,7 @@ > > PDERuntimePlugin.getDefault().getBundleContext().addBundleListener(fListener); > Platform.getExtensionRegistry().addRegistryChangeListener(fListener); >+ PDERuntimePlugin.getDefault().getBundleContext().addServiceListener(fListener); > } > > private void createTreeViewer(Composite parent) { >@@ -189,7 +192,8 @@ > GridData gd = new GridData(GridData.FILL_BOTH); > fFilteredTree.setLayoutData(gd); > fTreeViewer = fFilteredTree.getViewer(); >- fTreeViewer.setContentProvider(new RegistryBrowserContentProvider()); >+ contentProvider = new RegistryBrowserContentProvider(); >+ fTreeViewer.setContentProvider(contentProvider); > fTreeViewer.setLabelProvider(new RegistryBrowserLabelProvider(fTreeViewer)); > fTreeViewer.setUseHashlookup(true); > fTreeViewer.setComparator(new ViewerComparator() { >@@ -613,4 +617,12 @@ > protected TreeItem[] getTreeItems() { > return fTreeViewer.getTree().getItems(); > } >+ >+ public Object getAdapter(Class adapter) { >+ if (adapter.equals(ITreeContentProvider.class)) { >+ return contentProvider; >+ } >+ >+ return super.getAdapter(adapter); >+ } > } >Index: src/org/eclipse/pde/internal/runtime/registry/ServiceReferenceAdapter.java >=================================================================== >RCS file: src/org/eclipse/pde/internal/runtime/registry/ServiceReferenceAdapter.java >diff -N src/org/eclipse/pde/internal/runtime/registry/ServiceReferenceAdapter.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ src/org/eclipse/pde/internal/runtime/registry/ServiceReferenceAdapter.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,45 @@ >+/******************************************************************************* >+ * Copyright (c) 2008 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.pde.internal.runtime.registry; >+ >+import org.osgi.framework.ServiceReference; >+ >+public class ServiceReferenceAdapter extends ParentAdapter { >+ >+ public static final int REGISTERED = 1; >+ public static final int SERVICE_IN_USE = 2; >+ >+ private int type; >+ >+ public ServiceReferenceAdapter(ServiceReference object, int type) { >+ super(object); >+ this.type = type; >+ } >+ >+ protected Object[] createChildren() { >+ // TODO pluggable support for different services >+ return null; >+ } >+ >+ public int getType() { >+ return type; >+ } >+ >+ public boolean equals(Object obj) { >+ // imitate ServiceReference behavior, that multiple ServiceReference instances are equal >+ return (obj instanceof ServiceReferenceAdapter) ? getObject().equals(((ServiceReferenceAdapter) obj).getObject()) : false; >+ } >+ >+ public int hashCode() { >+ // imitate ServiceReference behavior, that multiple ServiceReference instances return the same hashCode >+ return getObject().hashCode(); >+ } >+}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 217738
:
89012
|
89013
|
89014
|
89037
|
89093
|
89094
|
89282
|
89284
| 89579 |
89580
|
90585
|
90586
|
90588
|
92746