The following document contains the results of FindBugs Report
FindBugs Version is 1.3.9
Threshold is
Effort is min
Classes | Bugs | Errors | Missing Classes |
---|---|---|---|
391 | 40 | 0 | 0 |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
new org.osgi.service.blueprint.container.BlueprintEvent(int, Bundle, Bundle, String[], Throwable) may expose internal representation by storing an externally mutable object into BlueprintEvent.dependencies | MALICIOUS_CODE | EI_EXPOSE_REP2 | 230 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.springframework.osgi.blueprint.reflect.SimpleBeanMetadata doesn't override SimpleComponentMetadata.equals(Object) | STYLE | EQ_DOESNT_OVERRIDE_EQUALS | 50 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.springframework.osgi.blueprint.reflect.SimpleReferenceListMetadata doesn't override SimpleComponentMetadata.equals(Object) | STYLE | EQ_DOESNT_OVERRIDE_EQUALS | 39 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.springframework.osgi.blueprint.reflect.SimpleReferenceMetadata doesn't override SimpleComponentMetadata.equals(Object) | STYLE | EQ_DOESNT_OVERRIDE_EQUALS | 40 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.springframework.osgi.blueprint.reflect.SimpleServiceExportComponentMetadata doesn't override SimpleComponentMetadata.equals(Object) | STYLE | EQ_DOESNT_OVERRIDE_EQUALS | 52 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.springframework.osgi.blueprint.reflect.internal.support.OrderedManagedProperties.getProperty(String) is unsynchronized, org.springframework.osgi.blueprint.reflect.internal.support.OrderedManagedProperties.setProperty(String, String) is synchronized | MT_CORRECTNESS | UG_SYNC_SET_UNSYNC_GET | 103 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Possible null pointer dereference of ns in org.springframework.osgi.compendium.config.internal.ManagedServiceFactoryDefinitionParser.doParse(Element, ParserContext, BeanDefinitionBuilder) | CORRECTNESS | NP_NULL_ON_SOME_PATH | 88 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Method org.springframework.osgi.compendium.internal.cm.DefaultManagedServiceBeanManager.unregister(Object) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead | PERFORMANCE | DM_NUMBER_CTOR | 74 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.springframework.osgi.compendium.internal.cm.ManagedServiceFactoryFactoryBean.setInterfaces(Class[]) may expose internal representation by storing an externally mutable object into ManagedServiceFactoryFactoryBean.interfaces | MALICIOUS_CODE | EI_EXPOSE_REP2 | 479 | Medium |
org.springframework.osgi.compendium.internal.cm.ManagedServiceFactoryFactoryBean.setListeners(OsgiServiceRegistrationListener[]) may expose internal representation by storing an externally mutable object into ManagedServiceFactoryFactoryBean.listeners | MALICIOUS_CODE | EI_EXPOSE_REP2 | 436 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Should org.springframework.osgi.compendium.internal.cm.ManagedServiceFactoryFactoryBean$DestructionInvokerCache be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 127 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.springframework.osgi.compendium.internal.cm.util.ChangeableProperties doesn't override java.util.Hashtable.equals(Object) | STYLE | EQ_DOESNT_OVERRIDE_EQUALS | 32 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Should org.springframework.osgi.config.internal.AbstractReferenceDefinitionParser$ReferenceAttributesCallback be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 80 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Should org.springframework.osgi.config.internal.ServiceBeanDefinitionParser$ServiceAttributeCallback be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 61 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.springframework.osgi.context.event.ApplicationListenerAdapter.equals(Object) checks for operand being a OsgiBundleApplicationContextListener | BAD_PRACTICE | EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS | 60 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.springframework.osgi.context.support.AbstractOsgiBundleApplicationContext.setConfigLocations(String[]) may expose internal representation by storing an externally mutable object into AbstractOsgiBundleApplicationContext.configLocations | MALICIOUS_CODE | EI_EXPOSE_REP2 | 168 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Method org.springframework.osgi.context.support.TrackingUtil$OsgiServiceHandler.invoke(Object, Method, Object[]) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead | PERFORMANCE | DM_NUMBER_CTOR | 80 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Unread field: org.springframework.osgi.service.exporter.support.AbstractOsgiServiceExporter.listeners | PERFORMANCE | URF_UNREAD_FIELD | 37 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.springframework.osgi.service.exporter.support.OsgiServiceFactoryBean.getInterfaces() may expose internal representation by returning OsgiServiceFactoryBean.interfaces | MALICIOUS_CODE | EI_EXPOSE_REP | 643 | Medium |
org.springframework.osgi.service.exporter.support.OsgiServiceFactoryBean.setInterfaces(Class[]) may expose internal representation by storing an externally mutable object into OsgiServiceFactoryBean.interfaces | MALICIOUS_CODE | EI_EXPOSE_REP2 | 653 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
new org.springframework.osgi.service.exporter.support.internal.support.ListenerNotifier(OsgiServiceRegistrationListener[]) may expose internal representation by storing an externally mutable object into ListenerNotifier.listeners | MALICIOUS_CODE | EI_EXPOSE_REP2 | 32 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
new org.springframework.osgi.service.exporter.support.internal.support.PublishingServiceFactory(LazyTargetResolver, Class[], boolean, ClassLoader, ClassLoader, BundleContext) may expose internal representation by storing an externally mutable object into PublishingServiceFactory.classes | MALICIOUS_CODE | EI_EXPOSE_REP2 | 75 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.springframework.osgi.service.importer.support.AbstractOsgiServiceImportFactoryBean.getInterfaces() may expose internal representation by returning AbstractOsgiServiceImportFactoryBean.interfaces | MALICIOUS_CODE | EI_EXPOSE_REP | 256 | Medium |
org.springframework.osgi.service.importer.support.AbstractOsgiServiceImportFactoryBean.getListeners() may expose internal representation by returning AbstractOsgiServiceImportFactoryBean.listeners | MALICIOUS_CODE | EI_EXPOSE_REP | 274 | Medium |
org.springframework.osgi.service.importer.support.AbstractOsgiServiceImportFactoryBean.setInterfaces(Class[]) may expose internal representation by storing an externally mutable object into AbstractOsgiServiceImportFactoryBean.interfaces | MALICIOUS_CODE | EI_EXPOSE_REP2 | 161 | Medium |
org.springframework.osgi.service.importer.support.AbstractOsgiServiceImportFactoryBean.setListeners(OsgiServiceLifecycleListener[]) may expose internal representation by storing an externally mutable object into AbstractOsgiServiceImportFactoryBean.listeners | MALICIOUS_CODE | EI_EXPOSE_REP2 | 209 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Possible doublecheck on org.springframework.osgi.service.importer.support.AbstractServiceImporterProxyFactoryBean.proxy in org.springframework.osgi.service.importer.support.AbstractServiceImporterProxyFactoryBean.getObject() | MT_CORRECTNESS | DC_DOUBLECHECK | 93 | Medium |
Possible doublecheck on org.springframework.osgi.service.importer.support.AbstractServiceImporterProxyFactoryBean.proxy in org.springframework.osgi.service.importer.support.AbstractServiceImporterProxyFactoryBean.getObjectType() | MT_CORRECTNESS | DC_DOUBLECHECK | 121 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Invocation of toString on classes in org.springframework.osgi.service.importer.support.StaticServiceProxyCreator.discoverProxyClasses(ServiceReference) | CORRECTNESS | DMI_INVOKING_TOSTRING_ON_ARRAY | 147 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.springframework.osgi.service.importer.support.internal.aop.ReferenceHolder.equals(Object) checks for operand being a org.osgi.framework.ServiceReference | BAD_PRACTICE | EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS | 77 | Medium |
org.springframework.osgi.service.importer.support.internal.aop.ReferenceHolder defines equals and uses Object.hashCode() | BAD_PRACTICE | HE_EQUALS_USE_HASHCODE | 69 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.springframework.osgi.service.importer.support.internal.aop.ServiceDynamicInterceptor.getListeners() may expose internal representation by returning ServiceDynamicInterceptor.listeners | MALICIOUS_CODE | EI_EXPOSE_REP | 527 | Medium |
org.springframework.osgi.service.importer.support.internal.aop.ServiceDynamicInterceptor.setListeners(OsgiServiceLifecycleListener[]) may expose internal representation by storing an externally mutable object into ServiceDynamicInterceptor.listeners | MALICIOUS_CODE | EI_EXPOSE_REP2 | 531 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Call to equals() comparing unrelated class and interface in org.springframework.osgi.service.importer.support.internal.aop.ServiceDynamicInterceptor$Listener.serviceChanged(ServiceEvent) | CORRECTNESS | EC_UNRELATED_CLASS_AND_INTERFACE | 185 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Inconsistent synchronization of org.springframework.osgi.service.importer.support.internal.aop.SwappingServiceReferenceProxy.delegate; locked 85% of time | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 75 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.springframework.osgi.service.importer.support.internal.collection.OsgiServiceCollection.setListeners(OsgiServiceLifecycleListener[]) may expose internal representation by storing an externally mutable object into OsgiServiceCollection.listeners | MALICIOUS_CODE | EI_EXPOSE_REP2 | 470 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Method call in org.springframework.osgi.service.importer.support.internal.exception.BlueprintExceptionFactory$BlueprintFactory.createServiceUnavailableException(ServiceReference) passes null for nonnull parameter of org.springframework.osgi.util.OsgiFilterUtils.getFilter(ServiceReference) | CORRECTNESS | NP_NULL_PARAM_DEREF | 48 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to highEqualTo in org.springframework.osgi.util.DebugUtils.getVersion(String, String) | STYLE | DLS_DEAD_LOCAL_STORE | 381 | Medium |
Dead store to highLessThen in org.springframework.osgi.util.DebugUtils.getVersion(String, String) | STYLE | DLS_DEAD_LOCAL_STORE | 382 | Medium |
Dead store to right in org.springframework.osgi.util.DebugUtils.getVersion(String, String) | STYLE | DLS_DEAD_LOCAL_STORE | 390 | Medium |