Project Information
Project:
FindBugs version: 3.0.1
Code analyzed:
- /var/snap-ci/repo/build/classes/main/au/com/mountainpass/hyperstate/package-info.class
- /var/snap-ci/repo/build/classes/main/au/com/mountainpass/hyperstate/core/EntityRepository.class
- /var/snap-ci/repo/build/classes/main/au/com/mountainpass/hyperstate/core/Labelled.class
- /var/snap-ci/repo/build/classes/main/au/com/mountainpass/hyperstate/core/Relationship.class
- /var/snap-ci/repo/build/classes/main/au/com/mountainpass/hyperstate/core/JavaLink.class
- /var/snap-ci/repo/build/classes/main/au/com/mountainpass/hyperstate/core/FutureConverter.class
- /var/snap-ci/repo/build/classes/main/au/com/mountainpass/hyperstate/core/Action.class
- /var/snap-ci/repo/build/classes/main/au/com/mountainpass/hyperstate/core/Resolver.class
- /var/snap-ci/repo/build/classes/main/au/com/mountainpass/hyperstate/core/Parameter.class
- /var/snap-ci/repo/build/classes/main/au/com/mountainpass/hyperstate/core/entities/UpdatedEntity.class
- /var/snap-ci/repo/build/classes/main/au/com/mountainpass/hyperstate/core/entities/LinkedEntity.class
- /var/snap-ci/repo/build/classes/main/au/com/mountainpass/hyperstate/core/entities/EntityWrapper.class
- /var/snap-ci/repo/build/classes/main/au/com/mountainpass/hyperstate/core/entities/Entity.class
- /var/snap-ci/repo/build/classes/main/au/com/mountainpass/hyperstate/core/entities/CreatedEntity.class
- /var/snap-ci/repo/build/classes/main/au/com/mountainpass/hyperstate/core/entities/EntityWrapper$1.class
- /var/snap-ci/repo/build/classes/main/au/com/mountainpass/hyperstate/core/entities/VanillaEntity.class
- /var/snap-ci/repo/build/classes/main/au/com/mountainpass/hyperstate/core/FutureConverter$1.class
- /var/snap-ci/repo/build/classes/main/au/com/mountainpass/hyperstate/core/MediaTypes.class
- /var/snap-ci/repo/build/classes/main/au/com/mountainpass/hyperstate/core/EntityRelationship.class
- /var/snap-ci/repo/build/classes/main/au/com/mountainpass/hyperstate/core/Link.class
- /var/snap-ci/repo/build/classes/main/au/com/mountainpass/hyperstate/core/NavigationalRelationship.class
- /var/snap-ci/repo/build/classes/main/au/com/mountainpass/hyperstate/core/JavaAction.class
- /var/snap-ci/repo/build/classes/main/au/com/mountainpass/hyperstate/core/FutureConverter$2.class
- /var/snap-ci/repo/build/classes/main/au/com/mountainpass/hyperstate/server/HyperstateController.class
- /var/snap-ci/repo/build/classes/main/au/com/mountainpass/hyperstate/server/ResponseHeaderInterceptor.class
- /var/snap-ci/repo/build/classes/main/au/com/mountainpass/hyperstate/server/serialization/MessageSourceAwareSerializer.class
- /var/snap-ci/repo/build/classes/main/au/com/mountainpass/hyperstate/server/serialization/MediaTypeSerializer.class
- /var/snap-ci/repo/build/classes/main/au/com/mountainpass/hyperstate/server/HyperstateApplication.class
- /var/snap-ci/repo/build/classes/main/au/com/mountainpass/hyperstate/server/entities/HyperstateRootEntity.class
- /var/snap-ci/repo/build/classes/main/au/com/mountainpass/hyperstate/server/HyperstateRootController.class
- /var/snap-ci/repo/build/classes/main/au/com/mountainpass/hyperstate/server/WebConfiguration.class
- /var/snap-ci/repo/build/classes/main/au/com/mountainpass/hyperstate/annotations/PresentationType.class
Metrics
828 lines of code analyzed,
in 32 classes,
in 7 packages.
| High Priority Warnings |
|
0.00 |
| Medium Priority Warnings |
6 |
7.25 |
| Low Priority Warnings |
3 |
3.62 |
|
Total Warnings
|
9
|
10.87
|
(* Defects per Thousand lines of non-commenting source statements)
Contents
Summary
Warnings
Click on a warning row to see full context information.
|
EI
|
au.com.mountainpass.hyperstate.core.Relationship.getNature() may expose internal representation by returning Relationship.natures |
|
Bug type EI_EXPOSE_REP (click for details)
In class au.com.mountainpass.hyperstate.core.Relationship In method au.com.mountainpass.hyperstate.core.Relationship.getNature() Field au.com.mountainpass.hyperstate.core.Relationship.natures At Relationship.java:[line 541]
|
|
UPM
|
Private method au.com.mountainpass.hyperstate.core.entities.EntityWrapper.getEntitiesAndJoin() is never called |
|
Bug type UPM_UNCALLED_PRIVATE_METHOD (click for details)
In class au.com.mountainpass.hyperstate.core.entities.EntityWrapper In method au.com.mountainpass.hyperstate.core.entities.EntityWrapper.getEntitiesAndJoin() At EntityWrapper.java:[line 145]
|
|
DB
|
new au.com.mountainpass.hyperstate.core.entities.EntityWrapper(String, Object, String, String[]) uses the same code for two switch clauses |
|
Bug type DB_DUPLICATE_SWITCH_CLAUSES (click for details)
In class au.com.mountainpass.hyperstate.core.entities.EntityWrapper In method new au.com.mountainpass.hyperstate.core.entities.EntityWrapper(String, Object, String, String[]) At EntityWrapper.java:[lines 80-81] At EntityWrapper.java:[lines 83-84] At EntityWrapper.java:[line 88]
|
|
DLS
|
Dead store to code in au.com.mountainpass.hyperstate.core.Labelled.interpolate(String, String[]) |
|
Bug type DLS_DEAD_LOCAL_STORE (click for details)
In class au.com.mountainpass.hyperstate.core.Labelled In method au.com.mountainpass.hyperstate.core.Labelled.interpolate(String, String[]) Local variable named code At Labelled.java:[line 71]
|
|
DLS
|
Dead store to requestMapping in au.com.mountainpass.hyperstate.server.HyperstateController.getEntity(String) |
|
Bug type DLS_DEAD_LOCAL_STORE (click for details)
In class au.com.mountainpass.hyperstate.server.HyperstateController In method au.com.mountainpass.hyperstate.server.HyperstateController.getEntity(String) Local variable named requestMapping At HyperstateController.java:[line 117]
|
|
DLS
|
Dead store to url in au.com.mountainpass.hyperstate.server.HyperstateRootController.post(MultiValueMap, HttpServletRequest) |
|
Bug type DLS_DEAD_LOCAL_STORE (click for details)
In class au.com.mountainpass.hyperstate.server.HyperstateRootController In method au.com.mountainpass.hyperstate.server.HyperstateRootController.post(MultiValueMap, HttpServletRequest) Local variable named url At HyperstateRootController.java:[line 76]
|
|
DLS
|
Dead store to url in au.com.mountainpass.hyperstate.server.HyperstateRootController.put(MultiValueMap, HttpServletRequest) |
|
Bug type DLS_DEAD_LOCAL_STORE (click for details)
In class au.com.mountainpass.hyperstate.server.HyperstateRootController In method au.com.mountainpass.hyperstate.server.HyperstateRootController.put(MultiValueMap, HttpServletRequest) Local variable named url At HyperstateRootController.java:[line 104]
|
|
SF
|
Switch statement found in new au.com.mountainpass.hyperstate.core.entities.EntityWrapper(String, Object, String, String[]) where one case falls through to the next case |
|
Bug type SF_SWITCH_FALLTHROUGH (click for details)
In class au.com.mountainpass.hyperstate.core.entities.EntityWrapper In method new au.com.mountainpass.hyperstate.core.entities.EntityWrapper(String, Object, String, String[]) At EntityWrapper.java:[lines 86-88]
|
|
SF
|
Switch statement found in new au.com.mountainpass.hyperstate.core.entities.EntityWrapper(String, Object, String, String[]) where default case is missing |
|
Bug type SF_SWITCH_NO_DEFAULT (click for details)
In class au.com.mountainpass.hyperstate.core.entities.EntityWrapper In method new au.com.mountainpass.hyperstate.core.entities.EntityWrapper(String, Object, String, String[]) At EntityWrapper.java:[lines 78-88]
|
This method uses the same code to implement two clauses of a switch statement.
This could be a case of duplicate code, but it might also indicate
a coding mistake.
This instruction assigns a value to a local variable,
but the value is not read or used in any subsequent instruction.
Often, this indicates an error, because the value computed is never
used.
Note that Sun's javac compiler often generates dead stores for
final local variables. Because FindBugs is a bytecode-based tool,
there is no easy way to eliminate these false positives.
Returning a reference to a mutable object value stored in one of the object's fields
exposes the internal representation of the object.
If instances
are accessed by untrusted code, and unchecked changes to
the mutable object would compromise security or other
important properties, you will need to do something different.
Returning a new copy of the object is better approach in many situations.
This method contains a switch statement where default case is missing.
Usually you need to provide a default case.
Because the analysis only looks at the generated bytecode, this warning can be incorrect triggered if
the default case is at the end of the switch statement and the switch statement doesn't contain break statements for other
cases.
This method contains a switch statement where one case branch will fall through to the next case.
Usually you need to end this case with a break or return.
This private method is never called. Although it is
possible that the method will be invoked through reflection,
it is more likely that the method is never used, and should be
removed.