/** * Convenience method that performs a byte-wise comparison, including codebases, of the * services referenced by the given service items, and returns the result. If the services * cannot be compared, it is assumed that the versions are not the same, and * <code>false</code> is returned. */ private boolean sameVersion(ServiceItem item0, ServiceItem item1) { if (item0.service instanceof SameProxyVersionProvider && item1.service instanceof SameProxyVersionProvider) { Object version0 = ((SameProxyVersionProvider) item0.service).getVersion(); Object version1 = ((SameProxyVersionProvider) item1.service).getVersion(); if (version0 != null && version1 != null) { return version0.equals(version1); } } boolean fullyEqual = false; try { MarshalledInstance mi0 = new MarshalledInstance(item0.service); MarshalledInstance mi1 = new MarshalledInstance(item1.service); fullyEqual = mi0.fullyEquals(mi1); } catch (IOException e) { logger.log(Level.INFO, "failure marshalling old and new " + "services for equality check", e); } return fullyEqual; }//end LookupCacheImpl.sameVersion
fullyEqual = mi0.fullyEquals(mi1); } catch (IOException e) { if (ServiceDiscoveryManager.logger.isLoggable(Level.INFO)){