@Override public Object get(Object key) { if (reference == null) { return null; } return reference.getProperty((String) key); }
@Override public Object getProperty(String key) { return delegate.getProperty(key); }
private String getProtocol(ServiceReference<URLStreamHandler> sref) { return (String) sref.getProperty(URL_HANDLER_PROTOCOL); }
private long getProperty(ServiceReference<?> sref, String property) { Object value = sref.getProperty(property); return value != null ? new Long(value.toString()) : 0; } }
@Override public void serviceChanged(ServiceEvent event) { int type = event.getType(); ServiceReference<?> sref = event.getServiceReference(); List<String> clazzes = Arrays.asList(((String[]) sref.getProperty(Constants.OBJECTCLASS))); if (type == ServiceEvent.UNREGISTERING && clazzes.contains(ServiceA1.class.getName())) { ctxA.removeServiceListener(this); latch.countDown(); } } };
/** * Create a {@code ServiceTracker} on the specified {@code ServiceReference} * . * * <p> * The service referenced by the specified {@code ServiceReference} will be * tracked by this {@code ServiceTracker}. * * @param context The {@code ModuleContext} against which the tracking is * done. * @param reference The {@code ServiceReference} for the service to be * tracked. * @param customizer The customizer object to call when services are added, * modified, or removed in this {@code ServiceTracker}. If customizer * is {@code null}, then this {@code ServiceTracker} will be used as * the {@code ServiceTrackerCustomizer} and this * {@code ServiceTracker} will call the * {@code ServiceTrackerCustomizer} methods on itself. */ public ServiceTracker(final ModuleContext context, final ServiceReference<S> reference, final ServiceTrackerCustomizer<S, T> customizer) { this.context = context; this.trackReference = reference; this.trackClass = null; this.customizer = (customizer == null) ? this : customizer; this.listenerFilter = "(" + Constants.SERVICE_ID + "=" + reference.getProperty(Constants.SERVICE_ID).toString() + ")"; this.filter = context.createFilter(listenerFilter); }
int maxRanking = Integer.MIN_VALUE; for (int i = 0; i < length; i++) { Object property = references[i].getProperty(Constants.SERVICE_RANKING); int ranking = (property instanceof Integer) ? ((Integer) property).intValue() : 0; rankings[i] = ranking; for (int i = 0; i < length; i++) { if (rankings[i] == maxRanking) { long id = ((Long) (references[i].getProperty(Constants.SERVICE_ID))).longValue(); if (id < minId) { index = i;
String[] clazzes = (String[]) reference.getProperty(org.jboss.gravia.Constants.OBJECTCLASS); for (String clazz : clazzes) { if (reference.isAssignableTo(owner, clazz) == false) {